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:
- Casdoor se puede iniciar sesión y usar con éxito.
- 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:
Copia el directorio completo
oidc
al módulo de Zentao y úsalo como un módulo de Zentao. Renombra el paquete descargado a "oidc".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';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
demodel.php
.public function isOpenMethod($module, $method)
{
if ($module == 'oidc' and $method == 'index') {
return true;
}
}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")));Modifica el método
setSuperVars()
dentro deframework/base/router.class.php
y comenta las siguientes declaraciones.public function setSuperVars()
// unset($_REQUEST);
Paso 3: Configurar la Aplicación Casdoor
- Crea una nueva aplicación Casdoor o usa una existente.
- Añade tu URL de redirección.
- 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");
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框架"