Kanboard
Kanboard es una herramienta de gestión de proyectos autoalojada que usa tableros Kanban. Su plugin OAuth2 autentica a los usuarios a través de un proveedor OAuth 2.0 genérico. Con Casdoor como proveedor, los usuarios inician sesión en Kanboard con su cuenta de Casdoor.
Instalar el plugin OAuth2
- Instale el plugin de una de estas formas:
- En Kanboard, abra Settings > Plugins > Plugin Directory e instale OAuth2. El instalador web necesita que
PLUGIN_INSTALLEResté configurado entrueenconfig.php, un directoriopluginsal que el servidor web pueda escribir y la extensión PHP Zip. - Descargue el plugin y extráigalo en
plugins/OAuth2dentro del directorio de Kanboard. El nombre del directorio distingue entre mayúsculas y minúsculas.
- En Kanboard, abra Settings > Plugins > Plugin Directory e instale OAuth2. El instalador web necesita que
- Asegúrese de que Settings > Application settings > Application URL sea la URL pública de Kanboard, por ejemplo
https://kanboard.example.com/. El plugin construye su URL de callback a partir de ella.
Crear la aplicación en Casdoor
-
En Kanboard, vaya a Settings > Integrations > OAuth2 Authentication, y copie la Callback URL. Con reescritura de URLs, es:
https://kanboard.example.com/oauth/callbackSin reescritura de URLs, es
https://kanboard.example.com/?controller=OAuthController&action=handler&plugin=OAuth2. -
En la consola de administración de Casdoor, abra la organización de sus usuarios y añada una aplicación, o abra una existente.
-
Añada la URL de callback a Redirect URLs.
-
Guarde, y anote el Client ID y el Client secret.
Configurar el plugin OAuth2
-
En Kanboard, vaya a Settings > Integrations > OAuth2 Authentication, y complete los campos:
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>: Los valores de la aplicación de Casdoor.- User API URL: El endpoint UserInfo de Casdoor. Devuelve
sub(el ID de usuario de Casdoor),preferred_username(el nombre de usuario) yname(el nombre para mostrar) para el ámbitoprofile, yemailpara el ámbitoemail. - User ID Key: Kanboard vincula al usuario de Kanboard con este valor.
subno cambia cuando se renombra al usuario en Casdoor. - Allow Account Creation: Crea un usuario de Kanboard en el primer inicio de sesión. Sin esta opción, solo pueden iniciar sesión los usuarios que hayan vinculado su cuenta.
-
Haga clic en Save.
Sincronizar grupos de Casdoor
El endpoint UserInfo también devuelve los grupos del usuario en groups. Para crear grupos de Kanboard a partir de ellos:
- En la aplicación de Casdoor, en la pestaña OIDC/OAuth, configure Token group format como
Name (group), para que los grupos lleguen comodevelopersen lugar demy-org/developers. - En la configuración del plugin, establezca Groups Key como
groups. Para usar solo algunos grupos, enumérelos en Group Filter, separados por comas.
Vincular usuarios existentes de Kanboard
Kanboard encuentra a un usuario recurrente mediante el valor guardado en User ID Key, no por nombre de usuario o correo electrónico. Un usuario existente de Kanboard con el mismo nombre de usuario que el usuario de Casdoor no puede iniciar sesión con Casdoor hasta que las cuentas estén vinculadas:
- El usuario inicia sesión en Kanboard con su contraseña, abre las cuentas externas de su perfil y hace clic en Link OAuth2 account.
- O bien, un administrador introduce el ID de usuario de Casdoor, el valor
sub, en el campo OAuth2 ID de la configuración de autenticación del usuario.
Verificar el resultado
- Abra Kanboard en una ventana privada del navegador. La página de inicio de sesión muestra OAuth2 login.
- Haga clic en él e inicie sesión en Casdoor. Kanboard se abre con el usuario de Casdoor conectado.
Solución de problemas
| 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. |
Véase también
- plugin-oauth2 en GitHub
- OAuth 2.0