ERROR [Better Auth]: SyntaxError SyntaxError: "[object Object]" is not valid JSON on SSO sign in

export const POST = withAuth(
  {
    permission: { entity: 'organizations', action: 'manage' }
  },
  async (req, _user, { body }) => {
    const { orgId, orgSlug, domain, entryPoint, cert, metadataXml } = body

    const providerId = `${orgSlug}-saml`
    const origin =
      req.headers.get('origin') ??
      process.env.NEXT_PUBLIC_AUTH_URL

    const entityId = `https://my app/${orgSlug}-saml`
    const callbackUrl = `${origin}/api/auth/sso/saml2/callback/${providerId}`

    try {
      const spMetadataXml = await generateSpMetadata({ entityId, callbackUrl })

      const samlConfig = {
        entryPoint,
        cert,
        callbackUrl,
        audience: entityId,
        entityId,
        wantAssertionsSigned: true,
        signatureAlgorithm: 'sha256',
        digestAlgorithm: 'sha256',
        identifierFormat:
          'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
        idpMetadata: {
          metadata: metadataXml
        },
        spMetadata: {
          metadata: spMetadataXml,
          binding: 'post'
        },
        mapping: {
          id: 'http://schemas.microsoft.com/identity/claims/objectidentifier',
          email: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress',
          name: 'http://schemas.microsoft.com/identity/claims/displayname'
        }
      }

      await auth.api.registerSSOProvider({
        body: {
          providerId,
          issuer: entryPoint,
          domain,
          organizationId: orgId,
          samlConfig
        },
        headers: await headers()
      })

      return NextResponse.json({ success: true, spMetadataXml })
    } catch (err) {
      console.error('[SSO REGISTER ERROR]', err)
      return NextResponse.json({ error: 'SSO setup failed' }, { status: 500 })
    }
  }
)

this is my implementation of the register provider. I get this error when i try to sign in with SSO. My app is just pseduo code to remove my actual urls.
Was this page helpful?