Endpoint
| Propiedad | Valor |
|---|---|
| Autenticación | Ninguna (accesible públicamente) |
| Content-Type | application/samlmetadata+xml |
| Content-Disposition | inline; filename="sp_metadata.xml" |
Propósito
Al configurar SAML SSO entre un IdP (por ejemplo, Okta, Azure AD, OneLogin) y EKB, el IdP necesita conocer varias cosas sobre el SP:- Entity ID — un identificador único para el SP.
- URL del Assertion Consumer Service (ACS) — donde el IdP debe enviar por POST las respuestas SAML.
- Formato NameID soportado — cómo debe identificar el IdP al usuario.
- Certificado de firma (si aplica) — la clave pública que el IdP puede usar para verificar AuthnRequests firmados.
Formato de Respuesta
El endpoint retorna un documentoEntityDescriptor SAML 2.0. A continuación se muestra un ejemplo representativo:
Componentes Garantizados vs. Opcionales
Garantizados (siempre presentes)
| Elemento / Atributo XML | Descripción |
|---|---|
<md:EntityDescriptor entityID="..."> | El Entity ID del SP. Se predetermina a la URL ACS a menos que CUSTOM_ENTITY_ID_FOR_GENERIC_SSO esté establecido, en cuyo caso se usa ese valor. |
<md:SPSSODescriptor> | Contenedor para toda la información del descriptor SSO del SP. Siempre incluye WantAssertionsSigned="true" y protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol". |
Atributo AuthnRequestsSigned | Siempre presente en SPSSODescriptor. Se establece a "true" cuando se configura un certificado de firma SP, "false" de lo contrario. |
<md:NameIDFormat> | Siempre urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress. EKB espera que el IdP proporcione la dirección de correo electrónico del usuario como NameID. |
<md:AssertionConsumerService> | El endpoint ACS. Siempre usa enlazamiento HTTP-POST, índice 0 y isDefault="true". El Location se deriva de la URL raíz del backend de EKB: {BACKEND_ROOT_URL}/user/generic/sso/saml/acs/admin. |
Opcionales (condicionalmente presentes)
| Elemento / Atributo XML | Condición | Descripción |
|---|---|---|
<md:KeyDescriptor use="signing"> | Solo presente cuando el servidor está configurado con un certificado y clave de firma SP válidos a través de SAML_SP_CERT_FILE y SAML_SP_KEY_FILE. | Contiene el certificado de firma X.509 del SP para que el IdP pueda verificar AuthnRequests firmados. Cuando está ausente, las AuthnRequests se envían sin firmar y AuthnRequestsSigned es "false". |
Variables de Entorno Relacionadas
| Variable | Efecto en los Metadatos |
|---|---|
CUSTOM_ENTITY_ID_FOR_GENERIC_SSO | Si está establecida, anula el entityID predeterminado (que es la URL ACS). |
SAML_SP_CERT_FILE | Ruta al certificado X.509 codificado en PEM del SP. Cuando se establece junto con SAML_SP_KEY_FILE, el bloque KeyDescriptor se incluye y AuthnRequestsSigned se convierte en "true". |
SAML_SP_KEY_FILE | Ruta a la clave privada codificada en PEM del SP. Requerida junto con SAML_SP_CERT_FILE para que se habilite la firma de solicitudes. |