Conectar a Microsoft Entra ID con OpenID Connect

FoxIDs puede conectarse a Microsoft Entra ID con OpenID Connect y así autenticar usuarios finales en un tenant de Microsoft Entra ID.

Es posible conectar una aplicación Microsoft Entra ID single tenant y multitenant como método de autenticación en FoxIDs usando OpenID Connect. Un caso más complejo es leer claims desde el access token. Si configura App roles se devuelven en la claim roles.

Puede probar el login de Microsoft Entra ID con la aplicación web de ejemplo en línea (docs del ejemplo) haciendo clic en Log in y luego Microsoft Entra ID.
Consulte la configuración de ejemplo de Microsoft Entra ID en FoxIDs Control: https://control.foxids.com/test-corp
Obtenga acceso de lectura con el usuario reader@foxids.com y la contraseña gEh#V6kSw, luego seleccione el entorno Production y la pestaña Authentication.

Configurar single tenant

Este capítulo describe cómo configurar una conexión single tenant de Microsoft Entra ID con el flujo OpenID Connect Authorization Code y PKCE, que es el flujo OpenID Connect recomendado.

1 - Comience creando un método de autenticación OpenID Connect en FoxIDs Control Client

  1. Agregue el nombre
  2. Seleccione show advanced
  3. Seleccione el patrón de enlace de URL con tildes

Read the redirect URLs

Ahora es posible leer Redirect URL y Front channel logout URL.

2 - Luego vaya a Azure Portal y cree la aplicación Microsoft Entra ID

  1. Agregue el nombre
  2. Seleccione single tenant
  3. (Es una aplicación Web) Agregue el Redirect URL del método de autenticación FoxIDs
  4. Haga clic en Register
  5. Copie el Application (client) ID
  6. Copie el Directory (tenant) ID
  7. Vaya a la pestaña Authentication y agregue el Front channel logout URL del método de autenticación FoxIDs, haga clic en save
  8. Vaya a la pestaña Certificates & secrets y haga clic en New client secret y agregue el secreto
    • Opcionalmente, use un certificado de cliente en lugar de un secreto
  9. Copie el valor del client secret (no el secret ID)
  10. Vaya a la pestaña Token configuration y haga clic en Add optional claims. Luego seleccione ID (para añadir claims al ID token) y seleccione email, family_name, given_name, ipaddr, preferred_username y haga clic en Add dos veces.

3 - Regrese al método de autenticación FoxIDs en FoxIDs Control Client

  1. Agregue la authority, que es https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0 (p. ej., https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0)
  2. Agregue el client ID de Microsoft Entra ID como custom SP client ID
  3. Agregue los scopes profile y email (posiblemente otros scopes)
  4. Agregue el valor de client secret de Microsoft Entra ID como client secret
    • Opcionalmente, seleccione show advanced, cambie el método de autenticación del cliente a private key JWT y cargue el certificado de cliente
  5. Seleccione usar claims del ID token
  6. Agregue las claims que se transferirán desde el método de autenticación a los registros de aplicaciones. Por ejemplo, preferred_username, email, name, given_name, family_name, oid, ipaddr y posiblemente la claim access_token para transferir el access token de Microsoft Entra ID a los registros de aplicaciones.
  7. Seleccione No en Front channel logout session required
  8. Haga clic en create

Eso es todo, ya terminó.

Es posible ver las claims devueltas por la aplicación Microsoft Entra ID en el log de FoxIDs cambiando la configuración de logs para registrar claims y opcionalmente registrar el mensaje completo y luego decodificar los JWT recibidos

El nuevo método de autenticación ahora se puede seleccionar como método de autenticación permitido en un registro de aplicación.
El registro de aplicación puede leer las claims del método de autenticación. Es posible añadir la claim access_token para incluir el access token de Microsoft Entra ID como una claim en el access token emitido.

Configurar multitenant

Este capítulo describe cómo configurar una conexión multitenant de Microsoft Entra ID con el flujo OpenID Connect Authorization Code y PKCE.

La configuración multitenant difiere ligeramente de la configuración single tenant.

1 - El portal de Microsoft Entra ID

  1. Durante la creación de la aplicación seleccione multitenant

2 - El método de autenticación FoxIDs en FoxIDs Control Client

  1. Agregue la authority https://login.microsoftonline.com/common/v2.0
  2. Seleccione edit issuer
  3. Cambie el issuer a https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0 (p. ej., https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0), donde agrega el tenant ID de Microsoft Entra ID.
    Puede agregar varios issuers y así confiar en varios tenants de Azure. O puede usar el comodín * sin nada más para aceptar todos los issuers, el issuer aceptado se agrega en la claim auth_method_issuer.

Leer claims desde el access token

Si desea leer claims desde el access token necesita agregar una aplicación Microsoft Entra ID adicional para un recurso (API). Donde la primera aplicación Microsoft Entra ID es para un cliente.

1 - En Azure Portal

  1. Cree la aplicación de recurso de Microsoft Entra ID
  2. Exponga un scope desde la app de recurso y conceda al cliente el scope de la app de recurso

2 - Luego vaya a FoxIDs Control Client

  1. Seleccione show advanced
  2. Seleccione edit issuer
  3. Agregue el issuer del access token https://sts.windows.net/{Microsoft Entra ID tenant ID}/ (p. ej., https://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/), donde agrega el tenant ID de Microsoft Entra ID
  4. Agregue el scope de la app de recurso como scope en el cliente del método de autenticación FoxIDs
  5. Lea las claims desde el access token sin seleccionar el uso de claims del ID token

Al hacer esto, el access token es emitido por el mismo OP (IdP) y por lo tanto es aceptado.

App roles

Si configura App roles en la aplicación Microsoft Entra ID bajo la pestaña App roles. Los roles se devuelven en la claim roles del ID token para los usuarios asignados al rol.

Si está leyendo claims desde el access token los roles deben definirse en la aplicación Microsoft Entra ID para un recurso (API).

En FoxIDs Control Client

  1. Los roles se devuelven en una claim roles que puede cambiarse a una claim role (sin la s) agregando una transformación map claims.
    Escriba role en new claim, establezca la acción en replace claim y escriba roles en select claim
  2. Agregue la claim role a las claims que se transferirán desde el método de autenticación a los registros de aplicaciones

Recuerde también agregar la claim role en el registro de aplicación para que se emita a la aplicación.

Tu privacidad

Usamos cookies para mejorar tu experiencia en nuestros sitios web. Haz clic en «Aceptar todas las cookies» para aceptar su uso. Para rechazar cookies no esenciales, haz clic en «Solo cookies necesarias».

Visita nuestra política de privacidad para saber más