Configuring Your Identity Provider
Open the Discord app for your game in the Developer Portal. Find the External Auth page under theDiscord Social SDK section in the sidebar.
Click on Add Auth Provider and choose the type of provider you’re using (Steam, OIDC, etc.). Fill in the required details for your provider.
We currently support the following provider types:
- OpenID Connect (OIDC)
- Steam Session Tickets
- Epic Online Services (EOS)
- Unity
- Apple
- PlayStation Network (PSN)
External Auth Types
OIDC Integration Requirements
If you are using OpenID Connect (OIDC) as your identity provider, Discord validates your configuration and tokens against the requirements below. Meeting these requirements is necessary both when saving your OIDC configuration in the Developer Portal and at runtime when tokens are exchanged.Issuer URL Requirements
The issuer URL you configure in the Developer Portal must meet all of the following:
Non-standard ports (e.g.
:8080) are permitted.
OIDC Discovery Document Requirements
Discord fetches your OIDC configuration from{issuer_url}/.well-known/openid-configuration per RFC 8414. This endpoint must:
- Be accessible over HTTPS
- Not require HTTP redirects — Discord does not follow redirects when fetching this document or your JWKS endpoint
- Return a valid JSON object (not an array)
authorization_endpoint and token_endpoint are accepted but not used by Discord.
Supported Signing Algorithms
Your ID tokens must be signed using an asymmetric algorithm. Discord supports:
Symmetric (HMAC) algorithms such as
HS256 are not supported. Any unsupported algorithms listed in id_token_signing_alg_values_supported are silently ignored.
ID Token Requirements
The OIDC ID token passed asexternal_auth_token must meet all of the following:
The optional
preferred_username claim (1–32 characters) sets the provisional account’s display name if present. See Setting Display Names for how display names are chosen across providers.
Next Steps
Once your identity provider is configured, continue to the authentication method that matches your setup:External Credentials Exchange
Exchange an external provider token (OIDC, Steam, EOS, etc.) server-side.
Public Client Integration
Authenticate directly from the client when you don’t have a backend.
#social-sdk-dev-help channel for support from the community.
If you encounter a bug while working with the Social SDK, please report it here: https://dis.gd/social-sdk-bug-report