Saltar al contenido principal

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:

  1. Establece la URL de Jenkins (Administrar Jenkins -> Configurar Sistema -> Ubicación de Jenkins) a JENKINS_HOSTNAME. URL de Jenkins

  2. Asegúrate de que Casdoor pueda iniciarse sesión y usarse normalmente.

  3. Establece el valor de origin de Casdoor (conf/app.conf) a CASDOOR_HOSTNAME. Configuración de Casdoor

Paso 2: Configurar la aplicación Casdoor

  1. Crea una nueva aplicación Casdoor o usa una existente.

  2. Añade una URL de redirección: http://JENKINS_HOSTNAME/securityRealm/finishLogin Configuración de la Aplicación Casdoor

  3. 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. seguridad global de jenkins

consejo

Asegúrate de hacer una copia de seguridad del archivo config.xml de Jenkins para recuperarlo en caso de errores de configuración.

  1. En Control de Acceso, selecciona Login with Openid Connect como el Reino de Seguridad.

  2. Especifica el Client ID anotado arriba en el campo Client ID.

  3. Especifica el Client secret anotado arriba en el campo Client secret.

  4. 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. Configuración de Jenkins

    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 Configuración manual
  5. 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.

    Configuración del Campo Userinfo

  6. 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.Página de Inicio de Sesión de Jenkins