Kanboard
Kanboard est un outil de gestion de projet auto-hébergé qui utilise des tableaux Kanban. Son plugin OAuth2 authentifie les utilisateurs via un fournisseur générique OAuth 2.0. Avec Casdoor comme fournisseur, les utilisateurs se connectent à Kanboard avec leur compte Casdoor.
Installer le plugin OAuth2
- Installez le plugin de l'une de ces manières :
- Dans Kanboard, ouvrez Settings > Plugins > Plugin Directory et installez OAuth2. L'installateur web nécessite que
PLUGIN_INSTALLERsoit défini surtruedansconfig.php, un répertoirepluginsaccessible en écriture par le serveur web, et l'extension PHP Zip. - Téléchargez le plugin et extrayez-le dans
plugins/OAuth2dans le répertoire Kanboard. Le nom du répertoire est sensible à la casse.
- Dans Kanboard, ouvrez Settings > Plugins > Plugin Directory et installez OAuth2. L'installateur web nécessite que
- Assurez-vous que Settings > Application settings > Application URL correspond à l'URL publique de Kanboard, par exemple
https://kanboard.example.com/. Le plugin construit son URL de rappel à partir de celle-ci.
Créer l'application dans Casdoor
-
Dans Kanboard, allez dans Settings > Integrations > OAuth2 Authentication, et copiez l'Callback URL. Avec réécriture d'URL, elle est :
https://kanboard.example.com/oauth/callbackSans réécriture d'URL, elle est
https://kanboard.example.com/?controller=OAuthController&action=handler&plugin=OAuth2. -
Dans la console d'administration Casdoor, ouvrez l'organisation de vos utilisateurs et ajoutez une application, ou ouvrez-en une existante.
-
Ajoutez l'URL de rappel dans Redirect URLs.
-
Enregistrez, et notez le Client ID et le Client secret.
Configurer le plugin OAuth2
-
Dans Kanboard, allez dans Settings > Integrations > OAuth2 Authentication, et remplissez les champs :
Field Value Client ID <your-client-id>Client Secret <your-client-secret>Authorize URL https://door.example.com/login/oauth/authorizeToken URL https://door.example.com/api/login/oauth/access_tokenUser API URL https://door.example.com/api/userinfoScopes openid profile emailUsername Key preferred_usernameName Key nameEmail Key emailUser ID Key subAllow Account Creation On <your-client-id>,<your-client-secret>: Les valeurs de l'application Casdoor.- User API URL : Le point de terminaison UserInfo de Casdoor. Il renvoie
sub(l'ID utilisateur Casdoor),preferred_username(le nom d'utilisateur) etname(le nom d'affichage) pour la portéeprofile, etemailpour la portéeemail. - User ID Key : Kanboard lie l'utilisateur Kanboard à cette valeur.
subne change pas lorsque l'utilisateur est renommé dans Casdoor. - Allow Account Creation : Crée un utilisateur Kanboard lors de la première connexion. Sans cela, seuls les utilisateurs ayant lié leur compte peuvent se connecter.
-
Cliquez sur Save.
Synchroniser les groupes Casdoor
Le point de terminaison UserInfo renvoie également les groupes de l'utilisateur dans groups. Pour créer des groupes Kanboard à partir de ceux-ci :
- Dans l'application Casdoor, sur l'onglet OIDC/OAuth, définissez Token group format sur
Name (group), afin que les groupes arrivent sous la formedevelopersau lieu demy-org/developers. - Dans les paramètres du plugin, définissez Groups Key sur
groups. Pour n'utiliser que certains groupes, listez-les dans Group Filter, séparés par des virgules.
Lier les utilisateurs Kanboard existants
Kanboard trouve un utilisateur retournant grâce à la valeur User ID Key stockée, et non par nom d'utilisateur ou e-mail. Un utilisateur Kanboard existant ayant le même nom d'utilisateur que l'utilisateur Casdoor ne peut pas se connecter avec Casdoor tant que les comptes ne sont pas liés :
- L'utilisateur se connecte à Kanboard avec son mot de passe, ouvre les comptes externes de son profil, et clique sur Link OAuth2 account.
- Ou bien un administrateur saisit l'ID utilisateur Casdoor, la valeur
sub, dans le champ OAuth2 ID des paramètres d'authentification de l'utilisateur.
Vérifier le résultat
- Ouvrez Kanboard dans une fenêtre de navigation privée. La page de connexion affiche OAuth2 login.
- Cliquez dessus et connectez-vous à Casdoor. Kanboard s'ouvre avec l'utilisateur Casdoor connecté.
Dépannage
| Symptom | Cause and fix |
|---|---|
Kanboard shows External authentication failed | The user isn't linked yet and Allow Account Creation is off, or a Kanboard user with the same username exists. Turn on account creation, or link the user. |
Casdoor shows Redirect URI: ... doesn't exist in the allowed Redirect URI list | Application URL in Kanboard is wrong, often still http://localhost/. Fix it, and add the Callback URL of the plugin to Redirect URLs. |
| The username, name, or email of new users is empty | Scopes lacks profile or email, or the application's Token fields list leaves the fields out. Casdoor returns only the fields in that list from the UserInfo endpoint. |
You use https://door.example.com/api/get-account as User API URL | That endpoint returns the user inside data. Use the UserInfo endpoint instead, as shown above. |
Voir aussi
- plugin-oauth2 sur GitHub
- OAuth 2.0