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 iny luegoMicrosoft 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 usuarioreader@foxids.comy la contraseñagEh#V6kSw, luego seleccione el entornoProductiony la pestañaAuthentication.
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
- Agregue el nombre
- Seleccione show advanced
- Seleccione el patrón de enlace de URL con tildes

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
- Agregue el nombre
- Seleccione single tenant
- (Es una aplicación Web) Agregue el
Redirect URLdel método de autenticación FoxIDs - Haga clic en Register
- Copie el Application (client) ID
- Copie el Directory (tenant) ID
- Vaya a la pestaña Authentication y agregue el
Front channel logout URLdel método de autenticación FoxIDs, haga clic en save - 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
- Copie el valor del client secret (no el secret ID)
- 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_usernamey haga clic en Add dos veces.
3 - Regrese al método de autenticación FoxIDs en FoxIDs Control Client
- 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) - Agregue el client ID de Microsoft Entra ID como custom SP client ID
- Agregue los scopes
profileyemail(posiblemente otros scopes) - 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 JWTy cargue el certificado de cliente
- Opcionalmente, seleccione show advanced, cambie el método de autenticación del cliente a
- Seleccione usar claims del ID token
- 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,ipaddry posiblemente la claimaccess_tokenpara transferir el access token de Microsoft Entra ID a los registros de aplicaciones. - Seleccione
Noen Front channel logout session required - 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
- Durante la creación de la aplicación seleccione multitenant
2 - El método de autenticación FoxIDs en FoxIDs Control Client
- Agregue la authority
https://login.microsoftonline.com/common/v2.0 - Seleccione edit issuer
- 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 claimauth_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
- Cree la aplicación de recurso de Microsoft Entra ID
- 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
- Seleccione show advanced
- Seleccione edit issuer
- 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 - Agregue el scope de la app de recurso como scope en el cliente del método de autenticación FoxIDs
- 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
- Los roles se devuelven en una claim
rolesque puede cambiarse a una claimrole(sin la s) agregando una transformación map claims. Escribaroleen new claim, establezca la acción en replace claim y escribarolesen select claim - Agregue la claim
rolea las claims que se transferirán desde el método de autenticación a los registros de aplicaciones
Recuerde también agregar la claim
roleen el registro de aplicación para que se emita a la aplicación.