Jenkins OIDC
Casdoor puede usar el protocolo OIDC como un IDP para conectar varias aplicaciones. En este ejemplo, usaremos Jenkins para demostrar cómo usar OIDC para conectarse a sus aplicaciones.
Los siguientes son algunos de los nombres utilizados en la configuración:
CASDOOR_HOSTNAME
: El nombre de dominio o IP donde se despliega el servidor de Casdoor.JENKINS_HOSTNAME
: El nombre de dominio o IP donde se despliega Jenkins.
Paso 1: Desplegar Casdoor y Jenkins
Primero, despliega Casdoor y Jenkins.
Después de un despliegue exitoso, asegúrate de lo siguiente:
Establece la URL de Jenkins (Administrar Jenkins -> Configurar Sistema -> Ubicación de Jenkins) a
JENKINS_HOSTNAME
.Asegúrate de que Casdoor pueda iniciarse sesión y usarse normalmente.
Establece el valor de
origin
de Casdoor (conf/app.conf) aCASDOOR_HOSTNAME
.
Paso 2: Configurar la aplicación Casdoor
Crea una nueva aplicación Casdoor o usa una existente.
Añade una URL de redirección:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
Añade el proveedor que desees y proporciona cualquier configuración adicional.
Obtendrás dos valores de la página de configuración de la aplicación: Client ID
y Client secret
. Usaremos estos valores en el siguiente paso.
Abre tu navegador favorito y visita: http://CASDOOR_HOSTNAME
/.well-known/openid-configuration para ver la configuración OIDC de Casdoor.
Paso 3: Configurar Jenkins
Primero, necesitamos instalar Autenticación OpenId Connect ya que Jenkins no soporta OIDC de forma nativa.
Después de la instalación, ve a Administrar Jenkins -> Configurar Seguridad Global.
Asegúrate de hacer una copia de seguridad del archivo config.xml
de Jenkins para recuperarlo en caso de errores de configuración.
En Control de Acceso, selecciona
Login with Openid Connect
como el Reino de Seguridad.Especifica el
Client ID
anotado arriba en el campo Client ID.Especifica el
Client secret
anotado arriba en el campo Client secret.En el modo de Configuración, selecciona
Configuración automática
e introduce http://CASDOOR_HOSTNAME
/.well-known/openid-configuration como el punto final de configuración conocido.Si tu Casdoor está desplegado localmente, es posible que necesites seleccionar
Configuración manual
y proporcionar la siguiente información:- URL del servidor de tokens: http://
CASDOOR_HOSTNAME
/api/login/oauth/access_token - URL del servidor de autorización: http://
CASDOOR_HOSTNAME
/login/oauth/authorize - URL del servidor UserInfo: http://
CASDOOR_HOSTNAME
/api/get-account - Alcances:
address phone openid profile offline_access email
- URL del servidor de tokens: http://
Haz clic en Configuración avanzada y completa lo siguiente:
- En el campo de Nombre de usuario, especifica
name
. - En el campo de Nombre completo, especifica
displayName
. - En el campo de Email, especifica
email
.
- En el campo de Nombre de usuario, especifica
En la sección Autorización, habilita “Los usuarios registrados pueden hacer cualquier cosa” y deshabilita “Permitir acceso de lectura anónimo”. Puedes configurar una autorización más compleja más tarde, pero por ahora, verifica si OpenID funciona correctamente.
Cierra sesión en Jenkins, y debería redirigirte a Casdoor para autenticación.