Skip to main content

Sign in with Discord

How to register Curupira in the Discord Developer Portal so your tenant's users can sign in with Discord.

Portal: discord.com/developers/applicationsNew Application.

Curupira detailValue
TypeOAuth2 (no id_token; identity from GET /users/@me)
Callback URL to registerhttps://auth.curupira.api.br/sso/discord/callback
Default scopesidentify email

1 · General Information

Set the app Name, Description, Icon, and your Terms of Service / Privacy Policy URLs. Leave the Interactions Endpoint URL and Linked Roles Verification URL blank — those are bot features, unused for SSO.

2 · OAuth2 tab

⚠️ Turn Public Client OFF

Discord defaults this ON. Curupira is a confidential client — it exchanges the authorization code for tokens server-side using the client secret. Toggle Public Client OFF (leaving it on can break the token exchange).

Add the redirect

Under Redirects → Add Redirect, paste exactly:

https://auth.curupira.api.br/sso/discord/callback

Then Save Changes at the bottom — an unsaved redirect won't take effect.

Copy the credentials

  • Client ID — copy it.
  • Client Secret — click Reset Secret, then copy the value. Discord shows a secret only once; if you navigate away without copying, reset again.

3 · Add the connection in Curupira

In the admin dashboard → SSO Connections, choose your tenant and Add SSO Connection:

  • Provider: Discord
  • Client ID / Client Secret: from step 2 (the secret is stored encrypted and never shown again)
  • Scopes: leave blank to use the defaults (identify email)
  • Enabled: on

Then test at https://auth.curupira.api.br/sso/discord/authorize?tenant=<your-tenant-slug>.

:::note Account linking If Discord returns an email that matches an existing password account, sign-in is refused — sign in with your password first, then connect SSO from your account settings. A brand-new email creates an SSO-only user automatically. :::

Checklist

  • Icon, description, ToS + Privacy URLs set
  • Public Client toggled OFF
  • Redirect https://auth.curupira.api.br/sso/discord/callback added and saved
  • Client ID copied; Client Secret reset + copied
  • Entered in SSO Connections