Connect to Microsoft Entra ID with OpenID Connect
O FoxIDs pode ser ligado ao Microsoft Entra ID com OpenID Connect e, assim, autenticar utilizadores finais num tenant Microsoft Entra ID.
É possível ligar tanto uma app Microsoft Entra ID single tenant como multitenant como método de autenticação no FoxIDs usando OpenID Connect.
Um caso mais complexo é ler claims do access token.
Se configurar App roles, estes são devolvidos no claim roles.
Pode testar o login Microsoft Entra ID com o sample web app online (documentação do sample) clicando em
Log ine depois emMicrosoft Entra ID.
Veja a configuração sample Microsoft Entra ID no FoxIDs Control: https://control.foxids.com/test-corp
Obtenha acesso de leitura com o utilizadorreader@foxids.come a passwordgEh#V6kSw, depois selecione o ambienteProductione o separadorAuthentication.
Configure single tenant
Este capítulo descreve como configurar uma ligação Microsoft Entra ID single tenant com OpenID Connect Authorization Code flow e PKCE, que é o fluxo OpenID Connect recomendado.
1 - Comece por criar um método de autenticação OpenID Connect no FoxIDs Control Client
- Adicione o nome
- Selecione show advanced
- Selecione tildes URL binding pattern

Agora é possível ler o Redirect URL e o Front channel logout URL.
2 - Depois vá ao Azure Portal e crie a app Microsoft Entra ID
- Adicione o nome
- Selecione single tenant
- É uma Web application: adicione o
Redirect URLdo método de autenticação FoxIDs - Clique em Register
- Copie o Application (client) ID
- Copie o Directory (tenant) ID
- Vá ao separador Authentication e adicione o
Front channel logout URLdo método de autenticação FoxIDs, depois clique em save - Vá ao separador Certificates & secrets e clique em New client secret e adicione o secret
- Opcionalmente, use um certificado cliente em vez de um secret
- Copie o valor do client secret, não o secret ID
- Vá ao separador Token configuration e clique em Add optional claims. Depois selecione ID, isto é, para adicionar claims ao ID token, e selecione
email,family_name,given_name,ipaddr,preferred_username, e clique duas vezes em Add.
3 - Volte ao método de autenticação FoxIDs no FoxIDs Control Client
- Adicione a authority, que é
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, por exemplohttps://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0 - Adicione o client ID Microsoft Entra ID como custom SP client ID
- Adicione os scopes
profileeemail, eventualmente outros ou mais scopes - Adicione o valor do client secret Microsoft Entra ID como client secret
- Opcionalmente, selecione show advanced, altere o método de autenticação do cliente para
private key JWTe carregue o certificado cliente
- Opcionalmente, selecione show advanced, altere o método de autenticação do cliente para
- Selecione usar claims do ID token
- Adicione os claims que serão transferidos do método de autenticação para os registos de aplicação. Por exemplo
preferred_username,email,name,given_name,family_name,oid,ipaddre possivelmente o claimaccess_tokenpara transferir o access token Microsoft Entra ID para os registos de aplicação. - Selecione
Noem Front channel logout session required - Clique em create
É isso, terminou.
É possível ver os claims devolvidos pela app Microsoft Entra ID no log do FoxIDs alterando as log settings para registar claims e, opcionalmente, a mensagem completa, e depois descodificando os JWT recebidos
O novo método de autenticação pode agora ser selecionado como método de autenticação permitido num registo de aplicação.
O registo de aplicação pode ler os claims do método de autenticação. É possível adicionar o claim access_token para incluir o access token Microsoft Entra ID como claim no access token emitido.
Configure multitenant
Este capítulo descreve como configurar uma ligação Microsoft Entra ID multitenant com OpenID Connect Authorization Code flow e PKCE.
A configuração multitenant difere ligeiramente da configuração single tenant.
1 - No Microsoft Entra ID Portal
- Durante a criação da app, selecione multitenant
2 - No método de autenticação FoxIDs em FoxIDs Control Client
- Adicione a authority
https://login.microsoftonline.com/common/v2.0 - Selecione edit issuer
- Altere o issuer para
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, por exemplohttps://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0, onde adiciona o tenant ID Microsoft Entra ID.
Pode eventualmente adicionar vários issuers e, assim, confiar em vários tenants Azure. Ou pode usar o wildcard*sem mais nada para aceitar todos os issuers; o issuer aceite é adicionado no claimauth_method_issuer.
Read claims from access token
Se quiser ler claims do access token, precisa de adicionar mais uma app Microsoft Entra ID para um recurso API. A primeira app Microsoft Entra ID é para um cliente.
1 - No Azure Portal
- Crie a resource app Microsoft Entra ID
- Exponha um scope da resource app e conceda à client app o scope da resource app
2 - Depois vá ao FoxIDs Control Client
- Selecione show advanced
- Selecione edit issuer
- Adicione o issuer do access token
https://sts.windows.net/{Microsoft Entra ID tenant ID}/, por exemplohttps://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/, onde adiciona o tenant ID Microsoft Entra ID - Adicione o scope da resource app como scope no cliente do método de autenticação FoxIDs
- Leia claims do access token não selecionando usar claims do ID token
Ao fazê-lo, o access token é emitido pelo mesmo OP, isto é, IdP, e por isso é aceite.
App roles
Se configurar App roles na app Microsoft Entra ID no separador App roles.
Os papéis são devolvidos no claim roles no ID token para utilizadores atribuídos ao papel.
Se estiver a ler claims do access token, os papéis têm de ser definidos na app Microsoft Entra ID para uma resource API.
No FoxIDs Control Client
- Os papéis são devolvidos num claim
roles, que pode ser alterado para um claimrole, sem o s, adicionando uma map claims transformation.
Escrevaroleem new claim, defina a ação como replace claim e escrevarolesem select claim - Adicione o claim
roleaos claims que serão transferidos do método de autenticação para os registos de aplicação
Lembre-se de também adicionar o claim
roleno registo de aplicação para que seja emitido para a aplicação.