Conéctese a Microsoft Entra ID con WS-Federation
Utilice FoxIDs como Servicio de token de seguridad (STS) de WS-Federation para un dominio de Microsoft Entra ID federado y un inicio de sesión de Windows federado.
FoxIDs se puede utilizar como proveedor de identidad federado para dispositivos Windows unidos a Microsoft Entra y unidos a Microsoft Entra híbrido.
En un entorno federado, Microsoft Entra ID requiere compatibilidad con WS-Federation y WS-Trust para el inicio de sesión de Windows. FoxIDs expone los metadatos de WS-Federation, el punto final MEX y el punto final activo WS-Trust UsernameMixed requeridos por estos flujos de Microsoft Entra ID y Windows. FoxIDs no une ni registra dispositivos; El registro del dispositivo lo gestiona Microsoft Entra ID y Windows.
Las organizaciones que usan AD FS para la federación de dominios de Microsoft Entra ID pueden usar FoxIDs para la función de proveedor de identidad federado que se describe en esta guía.
Configurar FoxIDs
Esta guía describe cómo configurar FoxIDs como STS para un dominio federado de Microsoft Entra ID. Los usuarios están conectados a los usuarios de Microsoft Entra ID con su Immutable ID.
1 - Create the Microsoft Entra ID WS-Federation application in FoxIDs Control Client
The recommended setup is to use the Connect to Microsoft Entra ID application template. The template enables Microsoft Entra ID Windows sign-in, configures the WS-Federation metadata URL, adds the required issue claim and claim transforms, and uses an application-specific issuer.
- Select the Applications tab.
- Click Add application.
- Select Connect to Microsoft Entra ID with the WS-Federation badge.
- Add the display name, e.g.
Microsoft Entra ID. - Select Automatic federation (recommended).
- Add the verified Microsoft Entra domain to synchronise.

- Click Create.
- Click Set up Microsoft Entra federation.
If automatic federation is not available in a self-hosted deployment, configure the automatic Microsoft Entra ID sync app registration first or select Manual federation and configure Microsoft Entra ID manually.
2 - Grant consent and synchronise Microsoft Entra federation
Automatic federation uses Microsoft Graph to create or update the Microsoft Entra ID domain internalDomainFederation configuration. FoxIDs synchronises the WS-Federation endpoints, the MEX endpoint, the active WS-Trust endpoint, the primary signing certificate and the secondary signing certificate if one exists.

- In the Microsoft Entra ID template, click Grant Microsoft admin consent.
- Sign in as a Microsoft Entra administrator for the tenant that owns the domain and accept the consent.
- Return to FoxIDs Control.
- Click Synchronise federation.
- Verify that the synchronisation status is successful.
After the first successful synchronisation, Microsoft Entra ID trusts the FoxIDs WS-Federation application registration for the configured domain. FoxIDs also checks the federation during federated Windows sign-in and synchronises again if the signing certificate has changed or the previous synchronisation was not successful.
If synchronisation reports that the existing Microsoft Entra federation issuer does not match this FoxIDs application registration, review the domain ownership before choosing to take over the federation. Taking over changes the Microsoft Entra domain to trust this FoxIDs application registration.
3 - Configure the users' Immutable ID claims
Microsoft Entra ID expects an Immutable ID claim in the WS-Federation token. The claim value must match the user's onPremisesImmutableId in Microsoft Entra ID.
The Microsoft Entra ID template adds the required issue claims and claim transforms. You still need to make sure each user has an immutable_id claim with the base64 value that matches the user in Microsoft Entra ID.

Microsoft Entra ID documentation lists the UPN claim as part of the expected WS-Federation token claims. FoxIDs issues:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
from the user's upn claim. User matching is normally based on the Immutable ID, but adding the UPN claim keeps the token aligned with Microsoft's expected WS-Federation claim set.
You need to set the user's Immutable ID as a claim in FoxIDs. To set the Immutable ID on an internal user, select the Users tab and then the Internal Users tab, find the user, and add a claim with the claim type
immutable_idand the value of the Immutable ID in Microsoft Entra ID. It should be base64 encoded. Theimmutable_idclaim type is mapped to the SAML claim URIhttp://schemas.foxids.com/ws/identity/claims/immutableidin FoxIDs. To issue the UPN claim for an internal user, add a claim with the claim typeupnand the user's Microsoft Entra ID user principal name, e.g.user@your-domain.com. FoxIDs maps the internalupnclaim tohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn. Manual FoxIDs configuration
Use manual configuration only if you do not use the Microsoft Entra ID template.
- Seleccione la pestaña Aplicaciones.
- Haga clic en Nueva aplicación.
- Haga clic en Mostrar todas las opciones.
- Haga clic en Aplicación web con la insignia WS-Federation.
- Agregue el Nombre, p.e.
Microsoft Entra ID. - Elija la configuración manual.
- Establezca Reino de aplicación en
urn:federation:MicrosoftOnline. - Establezca URL de respuesta en
https://login.microsoftonline.com/login.srf. - Establezca URL de cierre de sesión en
https://login.microsoftonline.com/login.srf. - Mantenga Tipo de token como
SAML 1.1a menos que Microsoft Entra ID esté configurado para otro tipo de token. - Haga clic en Crear.
- Abra la aplicación y habilite Inicio de sesión de Windows con Microsoft Entra ID en la configuración avanzada de WS-Federation.
Manual Immutable ID claim transform
Microsoft Entra ID espera una reclamación de Immutable ID en el token de WS-Federation. El valor del reclamo debe coincidir con el onPremisesImmutableId del usuario en Microsoft Entra ID.
- Haga clic en Cambiar aplicación para abrir la aplicación en modo de edición.
- Seleccione la pestaña Reclamar transformaciones.
- Haga clic en Agregar transformación de reclamo y haga clic en Mapa.
- Establezca Nuevo reclamo en
http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID. - Establezca Seleccionar reclamo en
http://schemas.foxids.com/ws/identity/claims/immutableid. - Haga clic en Actualizar.
La documentación de Microsoft Entra ID incluye el reclamo UPN como parte del conjunto de reclamos esperado del token WS-Federation. FoxIDs emite:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
a partir del reclamo upn del usuario. La coincidencia del usuario normalmente se basa en el Immutable ID, pero agregar el reclamo UPN mantiene el token alineado con el conjunto de reclamos WS-Federation esperado por Microsoft.
Debe configurar la Immutable ID del usuario como reclamo en FoxIDs. Para configurar el Immutable ID en un usuario interno, seleccione la pestaña Usuarios y luego la pestaña Usuarios internos, busque el usuario y agregue un reclamo con el tipo de reclamo
immutable_idy el valor del Immutable ID en Microsoft Entra ID. Debe estar codificado en base64. El tipo de notificaciónimmutable_idse asigna al URI de reclamación SAMLhttp://schemas.foxids.com/ws/identity/claims/immutableiden FoxIDs. Para emitir el reclamo UPN para un usuario interno, agregue un reclamo con el tipo de reclamoupny el user principal name de Microsoft Entra ID del usuario, por ejemplouser@your-domain.com. FoxIDs asigna el reclamo internoupnahttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn.
Manual Microsoft Entra ID federation values
Abra el registro de la aplicación WS-Federation y copie los valores necesarios para la federación del dominio Microsoft Entra ID:
- Metadatos de la Federación
- Reino / emisor
- URL de inicio de sesión pasiva
- URL de cierre de sesión
- Punto final MEX
- Punto final WS-Trust activo
Microsoft Entra ID lee los certificados de firma de FoxIDs de la URL de metadatos de federación. Por lo tanto, puede seguir utilizando los certificados FoxIDs continuos predeterminados. Para el inicio de sesión federado de Windows, utilice el punto final MEX como metadataExchangeUri y el punto final WS-Trust activo como activeSignInUri.
Configure el Immutable ID del usuario
El onPremisesImmutableId del usuario en Microsoft Entra ID debe coincidir con el reclamo http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID emitido por FoxIDs.
Microsoft describe el reclamo de Immutable ID de AD FS en la documentación Gestión y personalización de AD FS.
Configurar el Immutable ID del usuario con PowerShell
- Conéctese a Microsoft Graph:
Connect-MgGraph -Scopes "User.ReadWrite.All" - Configure las variables:
$userId = "user-id@your-domain.com" $immutableId = "immutable-id" - Configure la Immutable ID del usuario:
Update-MgUser -UserId $userId -OnPremisesImmutableId $immutableId - Validar el valor:
Get-MgUser -UserId $userId | Format-List Id, UserPrincipalName, OnPremisesImmutableId
Si el usuario ya tiene un Immutable ID configurado, es posible que deba alejarlo del dominio federado, actualizar el Immutable ID y luego regresar al usuario al dominio federado.
Configurar Microsoft Entra ID
No es posible configurar este tipo de federación de dominio de Microsoft Entra ID en Centro de administración de Microsoft Entra ID. Utilice Microsoft Graph PowerShell o Microsoft Graph API.
El recurso Microsoft Graph internalDomainFederation admite SAML y WS-Federation. Para WS-Federation, establezca preferredAuthenticationProtocol en wsFed. Consulte la documentación Crear federación de dominio interno de Microsoft.
Abra PowerShell como administrador.
Instale el módulo Gráfico de Microsoft PowerShell si aún no está instalado:
Install-Module -Name Microsoft.GraphInstalar opcionalmente para el usuario actual:
Install-Module Microsoft.Graph -Scope CurrentUser -ForceConéctese a Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"Configure las variables de configuración:
$domainId = "your-domain.com" $displayName = FoxIDs $issuerUri = "copied Realm / issuer from FoxIDs" $metadataExchangeUri = "copied MEX endpoint from FoxIDs" $passiveSignInUri = "copied Passive sign-in URL from FoxIDs" $activeSignInUri = "copied Active WS-Trust endpoint from FoxIDs" $signOutUri = "copied Sign-out URL from FoxIDs" $signingCertificate = "copied IdP signing certificate from FoxIDs"Configure la federación de dominio:
$params = @{ "@odata.type" = "#microsoft.graph.internalDomainFederation" displayName = $displayName issuerUri = $issuerUri metadataExchangeUri = $metadataExchangeUri passiveSignInUri = $passiveSignInUri activeSignInUri = $activeSignInUri preferredAuthenticationProtocol = "wsFed" signOutUri = $signOutUri federatedIdpMfaBehavior = "acceptIfMfaDoneByFederatedIdp" } New-MgDomainFederationConfiguration -DomainId $domainId -BodyParameter $paramsfederatedIdpMfaBehaviorse puede configurar en:acceptIfMfaDoneByFederatedIdp: Microsoft Entra ID acepta MFA de FoxIDs; Si FoxIDs no realizó MFA, Microsoft Entra ID puede hacerlo.enforceMfaByFederatedIdp: si una política necesita MFA, Microsoft Entra ID envía al usuario de regreso a FoxIDs para completar MFA.rejectMfaByFederatedIdp: Microsoft Entra ID siempre realiza MFA por sí mismo; Se ignora la MFA en FoxIDs.
Validar la configuración:
Get-MgDomainFederationConfiguration -DomainId $domainId | Format-List Get-MgDomain -DomainId $domainId | Format-List Id, AuthenticationType
Microsoft Entra ID utiliza
passiveSignInUripara clientes basados en web yactiveSignInUripara clientes activos como dispositivos Windows unidos a Microsoft Entra y dispositivos Windows unidos a Microsoft Entra híbrido. Consulte la documentación recurso internalDomainFederation de Microsoft para obtener la lista completa de propiedades.
If you configure Microsoft Entra ID manually, update the Microsoft Entra ID
signingCertificateandnextSigningCertificatevalues when FoxIDs signing certificates roll over. Automatic federation handles this for you.
Configurar la sincronización automática de Microsoft Entra ID para self-hosting
En deployments self-hosted de FoxIDs, la Microsoft Entra ID federation sync automática requiere una Microsoft Entra ID app registration configurada tanto en la configuración de deployment de FoxIDs runtime como en la de FoxIDs Control. FoxIDs usa la app registration con el client credentials flow para llamar a Microsoft Graph y crear o actualizar la federationConfiguration del dominio.
La app registration debe tener Microsoft Graph application permission Domain-InternalFederation.ReadWrite.All. Se recomienda certificate authentication: suba el certificado público a la app registration y configure FoxIDs con el mismo certificado incluyendo la clave privada.

PFX es práctico para sistemas de deployment que almacenan secrets como valores de una sola línea. La contraseña PFX es opcional; omita CertificatePfxPassword si el PFX no está protegido con contraseña:
{
"Settings": {
"Modules": {
"MicrosoftEntraIdSync": {
"ClientId": "<application-client-id>",
"CertificatePfx": "<base64-encoded-pfx>",
"CertificatePfxPassword": "<optional-pfx-password>"
}
}
}
}
Como environment variables:
Settings__Modules__MicrosoftEntraIdSync__ClientId=<application-client-id>
Settings__Modules__MicrosoftEntraIdSync__CertificatePfx=<base64-encoded-pfx>
Settings__Modules__MicrosoftEntraIdSync__CertificatePfxPassword=<optional-pfx-password>
Para crear el valor PFX codificado en base64 a partir de un certificado PFX sin contraseña:
$pfxPath = "C:\path\to\certificate.pfx"
$base64Pfx = [Convert]::ToBase64String([IO.File]::ReadAllBytes($pfxPath))
$base64Pfx | Set-Clipboard
También se puede usar certificado PEM y texto de private key:
{
"Settings": {
"Modules": {
"MicrosoftEntraIdSync": {
"ClientId": "<application-client-id>",
"CertificatePemCrt": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
"CertificatePemKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}
}
}
}
Si no se configura ningún certificado, FoxIDs usa client secret authentication:
{
"Settings": {
"Modules": {
"MicrosoftEntraIdSync": {
"ClientId": "<application-client-id>",
"ClientSecret": "<client-secret>"
}
}
}
}
Como environment variables:
Settings__Modules__MicrosoftEntraIdSync__ClientId=<application-client-id>
Settings__Modules__MicrosoftEntraIdSync__ClientSecret=<client-secret>
Si hay un certificado configurado, FoxIDs siempre usa certificate authentication y no vuelve a ClientSecret si certificate authentication falla. Configure CertificatePfx o bien CertificatePemCrt y CertificatePemKey; no configure a la vez opciones de certificado PFX y PEM.