Skip to content

Provider

This section holds the configuration of a third-party provider (identified by id) the end-user can go through to authenticate itself.

providers.<id>

KeyTypeDescriptionRequired
Default
idstringIdentifier of the provider. ex. googleYES
namestringName of the provider that will be displayed to users by UI. ex. GoogleYES
oauth2objectInfo to initiate an OAuth2 authorization code grant flow with the provider. See OAuth2 keys for more details.NO
oidcobjectInfo to initiate an OpenID Connect flow with the provider. See OIDC keys for more details.NO
uiobjectNO
user-infoobjectEndpoint called to obtain end-user info from the provider. See user info keys for more details.- OAuth2: YES
- OpenID Connect: NO

Each provider must have exactly one of oauth2 or oidc configured — not both. OIDC providers use OpenID Connect Discovery to automatically resolve endpoints from the issuer URL. This means you do not need to specify endpoint URLs or claim mappings manually.

providers.<id>.oidc

KeyTypeDescriptionRequired
Default
issuerurlThe OpenID Connect issuer URL. SympAuthy will fetch the discovery document at {issuer}/.well-known/openid-configuration to resolve all endpoints.YES
client-idstringAn identifier provided by the provider to identify authentication initiated by this authorization server.YES
client-secretstringA secret provided by the provider. It must only be shared between the provider and this authorization server.YES
scopesstring[]Scopes requested to the provider. The openid scope is always included automatically.NO
[openid]
userinfo-enabledbooleanWhether to also call the provider's UserInfo endpoint to fetch additional claims. When false, claims are extracted from the ID token only.NO
false

The discovery document is fetched at startup. If the issuer URL is invalid or unreachable, SympAuthy will fail fast with a clear error message.

When userinfo-enabled is false (the default), SympAuthy extracts user claims directly from the ID token returned by the provider. This is sufficient for most providers (Google, Microsoft, Auth0, etc.) and avoids an extra HTTP call.

providers.<id>.oauth2

KeyTypeDescriptionRequired
Default
client-idstringAn identifier provided by the provider to identify authentication initiated by this authorization server.YES
client-secretstringA secret provided by the provider. It must only be shared between the provider and this authorization server.YES
scopesstringScope requested to the provider to access the info of the user.YES
authorization-urlurlThe OAuth2 authorize url where to redirect the end-user to initiate an authentication with this provider.YES
token-urlurlThe OAuth2 token endpoint this authorization server should contact to obtain an access tokensYES
token-auth-methodstringHow this authorization server should pass the client id and the client secret to the token endpoint.YES

providers.<id>.user-info

KeyTypeDescriptionRequired
Default
urlurlEndpoint URL to get end-user information from the provider.YES
pathsobjectObject containing JSONPath to use to extract the end-user info from the response of the UserInfo endpoint of the provider. The key is one of the OpenID defined claims. The value is the JSONPath used to extract the claim value from the response.YES