OAuth Personnalisé
Casdoor prend en charge les fournisseurs personnalisés. Cependant, les fournisseurs personnalisés doivent suivre le processus standard de l'OAuth à 3 jambes, et les valeurs de retour de Token URL et UserInfo URL doivent se conformer au format spécifié par Casdoor.
Overview
Custom OAuth providers allow you to integrate any OAuth 2.0 compliant authentication service with Casdoor, even if it's not officially supported. This is useful when you want to integrate with:
- Internal enterprise OAuth servers
- Self-hosted authentication systems
- Third-party services not yet officially supported by Casdoor
Multiple Custom Providers Support
Casdoor supports up to 10 different custom OAuth providers simultaneously. When creating custom providers, you can choose from the following types:
- Custom - The first custom provider
- Custom2 through Custom10 - Additional custom providers
This allows you to integrate multiple custom OAuth services without conflicts. Each custom provider maintains its own separate configuration and user data fields.
Creating a Custom Provider
To create a new custom provider, navigate to the provider page of Casdoor, and select one of the custom types ("Custom", "Custom2", "Custom3", etc.) in the Type field. Vous devrez ensuite remplir Client ID, Client Secret, Auth URL, Scope,Token URL, UserInfo URL, et Favicon.

Auth URLest l'adresse de la page de connexion OAuth du fournisseur personnalisé.Si vous remplissez
https://door.casdoor.com/login/oauth/authorizecomme l'Auth URL, alors, lorsqu'un utilisateur se connecte avec ce fournisseur personnalisé, le navigateur redirigera d'abord vershttps://door.casdoor.com/login/oauth/authorize?client_id={ClientID}&redirect_uri=https://{your-casdoor-hostname}/callback&state={State_generated_by_Casdoor}&response_type=code&scope={Scope}`Après que l'autorisation est complétée, le fournisseur personnalisé devrait rediriger vers
https://{your-casdoor-hostname}/callback?code={code}Après cette étape, Casdoor reconnaîtra le paramètre code dans l'URL.
Scopeest le paramètre de portée transmis lors de l'accès à l'Auth URL, et vous devriez le remplir selon les exigences du fournisseur personnalisé.Token URLest le point de terminaison de l'API pour obtenir l'accessToken.Une fois que vous obtenez le code à l'étape précédente, Casdoor devrait l'utiliser pour obtenir l'accessToken.
Si vous remplissez
https://door.casdoor.com/api/login/oauth/access_tokencomme leToken URL, alors Casdoor y accédera en utilisant la commande suivantecurl -X POST -u "{ClientID}:{ClientSecret}" --data-binary "code={code}&grant_type=authorization_code&redirect_uri=https://{your-casdoor-hostname}/callback" https://door.casdoor.com/api/login/oauth/access_tokenLe fournisseur personnalisé devrait retourner au moins les informations suivantes :
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ixxxxxxxxxxxxxx",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6xxxxxxxxxxxxxx",
"token_type": "Bearer",
"expires_in": 10080,
"scope": "openid profile email"
}UserInfo URLest le point de terminaison de l'API pour obtenir les informations de l'utilisateur via l'accessToken.Si vous remplissez
https://door.casdoor.com/api/userinfocomme leUserInfo URL, alors Casdoor y accédera en utilisant la commande suivantecurl -X GET -H "Authorization: Bearer {accessToken}" https://door.casdoor.com/api/userinfoLe fournisseur personnalisé devrait retourner au moins les informations suivantes :
{
"name": "admin",
"preferred_username": "Admin",
"email": "admin@example.com",
"picture": "https://casbin.org/img/casbin.svg"
}Faviconest l'URL du logo d'un fournisseur personnalisé.Ce logo sera affiché sur la page de connexion de Casdoor avec les autres fournisseurs de connexion tiers.