Saltar al contenido principal

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​

  1. Instale el plugin de una de estas formas:
    • En Kanboard, abra Settings > Plugins > Plugin Directory e instale OAuth2. El instalador web necesita que PLUGIN_INSTALLER esté configurado en true en config.php, un directorio plugins al que el servidor web pueda escribir y la extensión PHP Zip.
    • Descargue el plugin y extráigalo en plugins/OAuth2 dentro del directorio de Kanboard. El nombre del directorio distingue entre mayúsculas y minúsculas.
  2. 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​

  1. En Kanboard, vaya a Settings > Integrations > OAuth2 Authentication, y copie la Callback URL. Con reescritura de URLs, es:

    https://kanboard.example.com/oauth/callback

    Sin reescritura de URLs, es https://kanboard.example.com/?controller=OAuthController&action=handler&plugin=OAuth2.

  2. 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.

  3. Añada la URL de callback a Redirect URLs.

  4. Guarde, y anote el Client ID y el Client secret.

Configurar el plugin OAuth2​

  1. En Kanboard, vaya a Settings > Integrations > OAuth2 Authentication, y complete los campos:

    FieldValue
    Client ID<your-client-id>
    Client Secret<your-client-secret>
    Authorize URLhttps://door.example.com/login/oauth/authorize
    Token URLhttps://door.example.com/api/login/oauth/access_token
    User API URLhttps://door.example.com/api/userinfo
    Scopesopenid profile email
    Username Keypreferred_username
    Name Keyname
    Email Keyemail
    User ID Keysub
    Allow Account CreationOn
    • <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) y name (el nombre para mostrar) para el ámbito profile, y email para el ámbito email.
    • User ID Key: Kanboard vincula al usuario de Kanboard con este valor. sub no 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.
  2. 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:

  1. En la aplicación de Casdoor, en la pestaña OIDC/OAuth, configure Token group format como Name (group), para que los grupos lleguen como developers en lugar de my-org/developers.
  2. En la configuración del plugin, establezca Groups Key como groups. Para usar solo algunos grupos, enumérelos en Group Filter, separados por comas.

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​

  1. Abra Kanboard en una ventana privada del navegador. La página de inicio de sesión muestra OAuth2 login.
  2. Haga clic en él e inicie sesión en Casdoor. Kanboard se abre con el usuario de Casdoor conectado.

Solución de problemas​

SymptomCause and fix
Kanboard shows External authentication failedThe 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 listApplication 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 emptyScopes 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 URLThat endpoint returns the user inside data. Use the UserInfo endpoint instead, as shown above.

Véase también​