Saltar al contenido principal

Zentao

Zentao es un sistema/herramienta de gestión de proyectos ágil (scrum), pero no soporta OIDC por sí mismo. Para integrar Zentao con Casdoor SSO, necesitamos usar un módulo OIDC de terceros llamado zentao-oidc, y este documento te mostrará cómo hacerlo.

Paso 1: Desplegar Casdoor y Zentao

Primero, despliega Casdoor y Zentao. Después de un despliegue exitoso, asegúrate de:

  1. Casdoor se puede iniciar sesión y usar con éxito.
  2. Puedes iniciar sesión y usar Zentao con éxito.

Paso 2: Integrar el módulo OIDC de terceros de Zentao

Instala zentao-oidc ejecutando el siguiente comando:

git clone https://github.com/casdoor/zentao-oidc.git

Alternativamente, puedes descargar el ZIP y descomprimirlo.

Este módulo se utiliza para integrar Zentao con SSO para OpenId. Aquí te mostramos cómo usarlo:

  1. Copia el directorio completo oidc al módulo de Zentao y úsalo como un módulo de Zentao. Renombra el paquete descargado a "oidc".

  2. Configura el filtro.

    Dado que el marco de Zentao filtra los parámetros en la URL y no permite espacios, necesitas poner el siguiente código al final de /config/my.php.

    $filter->oidc = new stdclass();
    $filter->oidc->index = new stdclass();
    $filter->oidc->index->paramValue['scope'] = 'reg::any';
  3. Modifica /module/commom/model.php.

    Añade 'oidc' a la lista de acceso anónimo y añade una línea al método isOpenMethod de model.php.

    public function isOpenMethod($module, $method)
    {
    if ($module == 'oidc' and $method == 'index') {
    return true;
    }
    }
  4. Si no quieres que aparezca la pantalla de inicio de sesión de Zentao, ve directamente a la pantalla de inicio de sesión de Casdoor.

    Modifica la última línea de código en public function checkPriv() en /module/common/model.php.

    //return print(js::locate(helper::createLink('user', 'login', "referer=$referer")));
    return print(js::locate(helper::createLink('oidc', 'index', "referer=$referer")));
  5. Modifica el método setSuperVars() dentro de framework/base/router.class.php y comenta las siguientes declaraciones.

    public function setSuperVars()
    // unset($_REQUEST);

Paso 3: Configurar la Aplicación Casdoor

  1. Crea una nueva aplicación Casdoor o usa una existente.
  2. Añade tu URL de redirección.Configuración de la Aplicación Casdoor
  3. Añade el proveedor que quieras y completa los demás ajustes requeridos.

Paso 4: Configurar Zentao

Configura el archivo config.php en el directorio oidc.

$config->oidc->clientId = "<Your ClientId>";
$config->oidc->clientSecret = "<Your ClientSecret>";
$config->oidc->issuer = "http://localhost:8000";

Establece tu URL de redirección en module/oidc en el método public function index().

$oidc->setRedirectURL($path."/zentao/oidc-index.html");
nota

La URL aquí se refiere a llamar al método 'index' en el módulo 'oidc'. También necesitas establecer un separador de variables. Por defecto, el marco utiliza un guion ("-"). Por favor, consulta el marco oficial de Zentao para más detalles. "zentaoPHP框架"