Sentry
Sentry es una plataforma de seguimiento de errores y monitoreo de rendimiento. Sus organizaciones pueden iniciar sesión a sus miembros mediante un proveedor de identidad (IdP) SAML 2.0. Con Casdoor como IdP, los miembros inician sesión en Sentry con su cuenta de Casdoor.
En sentry.io, SAML2 requiere el plan Business o Enterprise. Sentry autoalojado lo incluye desde la versión 20.6.0, y las funciones organizations:sso-basic y organizations:sso-saml2 están activadas por defecto.
Preparar Sentry
Sentry construye las URLs que proporciona al IdP desde system.url-prefix. En Sentry autoalojado, configúrelo en sentry/config.yml con la URL pública, incluyendo el esquema que abren los usuarios:
system.url-prefix: 'https://sentry.example.com'
Reinicie Sentry después de cambiarlo. Sin esto, el inicio de sesión falla, a menudo con HTTP 500 después de que el usuario regresa de Casdoor.
Crear la aplicación en Casdoor
Los ejemplos usan el slug de organización my-org en Sentry. Encuentre el suyo en la URL de la configuración de la organización.
-
En la consola de administración de Casdoor, abra la organización de sus usuarios y agregue una aplicación, o abra una existente.
-
Agregue el ID de entidad de Sentry a Redirect URLs. Sentry usa su URL de metadatos como ID de entidad:
https://sentry.example.com/saml/metadata/my-org/ -
En la pestaña SAML, establezca SAML reply URL en la URL del Servicio de Consumo de Aserciones (ACS) de Sentry:
https://sentry.example.com/saml/acs/my-org/ -
Mantenga desactivados Enable SAML assertion signature y Enable SAML C14N10. Casdoor firma entonces la respuesta SAML, que Sentry verifica. Con la firma de aserción activada, Sentry rechaza la respuesta con
Signature validation failed. SAML Response rejected. -
Guarde y haga clic en Copy SAML metadata URL. La URL tiene esta forma:
https://door.example.com/api/saml/metadata?application=admin/<application-name>
Configurar SAML2 en Sentry
-
En Sentry, vaya a Settings > Auth de la organización, y haga clic en Configure junto a SAML2.
-
En la pestaña Metadata URL, introduzca la URL de metadatos de Casdoor en Metadata URL y haga clic en Get metadata.
Si Sentry no puede llegar a Casdoor, abra la URL de metadatos en un navegador y pegue el XML en la pestaña XML en Metadata XML en su lugar.
-
Asigne los atributos que envía Casdoor:
Field Value IdP User ID NameUser Email EmailFirst Name DisplayNameLast Name (empty) Casdoor envía el nombre de usuario en el atributo
Namey el nombre para mostrar enDisplayName. Vea Perfil de usuario en la respuesta. -
Guarde. La página Auth mostrará entonces SAML2 como el proveedor de la organización. Para solicitar a los miembros existentes que vinculen sus cuentas a Casdoor, envíeles un recordatorio desde esta página.
Verificar el resultado
- Abra
https://sentry.example.com/auth/login/my-org/en una ventana privada del navegador e inicie sesión con inicio de sesión único. - Inicie sesión en Casdoor. Sentry abre la organización con el usuario de Casdoor conectado. Un usuario que aún no es miembro se convierte en uno en este primer inicio de sesión, con el rol predeterminado de la organización.
Solución de problemas
| Symptom | Cause and fix |
|---|---|
SAML SSO failed, Signature validation failed. SAML Response rejected | Turn off Enable SAML assertion signature and Enable SAML C14N10 on the application. If it persists, fetch the metadata again: Sentry must have the certificate of the application's current Cert. |
Failed to map SAML attributes | An attribute name in the mapping doesn't match. The message lists the attribute names that the response contains. Check that Disable SAML attributes is off. |
Casdoor shows AssertionConsumerServiceURL: ... doesn't match the SAML reply URL or the allowed Redirect URI list | Set SAML reply URL to the ACS URL of Sentry, with the organization slug and the trailing slash. |
| Sentry returns HTTP 500 after the sign-in | system.url-prefix isn't set or differs from the URL that users open. Fix it and restart Sentry. |
| Get metadata fails with a certificate error | Sentry checks the TLS certificate of Casdoor. Serve Casdoor with a valid certificate, or paste the metadata XML instead. |
Vea también
- SAML2 en la documentación de Sentry
- Usar Casdoor como proveedor de identidad SAML