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/applications → New Application.
| Curupira detail | Value |
|---|---|
| Type | OAuth2 (no id_token; identity from GET /users/@me) |
| Callback URL to register | https://auth.curupira.api.br/sso/discord/callback |
| Default scopes | identify 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/callbackadded and saved - Client ID copied; Client Secret reset + copied
- Entered in SSO Connections