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.
Pour créer un nouveau fournisseur personnalisé, naviguez vers la page des fournisseurs de Casdoor, et sélectionnez « Personnalisé » dans le champ Type. Vous devrez ensuite remplir Client ID
, Client Secret
, Auth URL
, Scope
,Token URL
, UserInfo URL
, et Favicon
.
Auth URL
est l'adresse de la page de connexion OAuth du fournisseur personnalisé.Si vous remplissez
https://door.casdoor.com/login/oauth/authorize
comme 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.
Scope
est 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 URL
est 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_token
comme 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_token
Le 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 URL
est 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/userinfo
comme leUserInfo URL
, alors Casdoor y accédera en utilisant la commande suivantecurl -X GET -H "Authorization: Bearer {accessToken}" https://door.casdoor.com/api/userinfo
Le 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"
}Favicon
est 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.