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 in e depois em Microsoft 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 utilizador reader@foxids.com e a password gEh#V6kSw, depois selecione o ambiente Production e o separador Authentication.

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

  1. Adicione o nome
  2. Selecione show advanced
  3. Selecione tildes URL binding pattern

Read the redirect URLs

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

  1. Adicione o nome
  2. Selecione single tenant
  3. É uma Web application: adicione o Redirect URL do método de autenticação FoxIDs
  4. Clique em Register
  5. Copie o Application (client) ID
  6. Copie o Directory (tenant) ID
  7. Vá ao separador Authentication e adicione o Front channel logout URL do método de autenticação FoxIDs, depois clique em save
  8. 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
  9. Copie o valor do client secret, não o secret ID
  10. 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

  1. Adicione a authority, que é https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, por exemplo https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0
  2. Adicione o client ID Microsoft Entra ID como custom SP client ID
  3. Adicione os scopes profile e email, eventualmente outros ou mais scopes
  4. 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 JWT e carregue o certificado cliente
  5. Selecione usar claims do ID token
  6. 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, ipaddr e possivelmente o claim access_token para transferir o access token Microsoft Entra ID para os registos de aplicação.
  7. Selecione No em Front channel logout session required
  8. 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

  1. Durante a criação da app, selecione multitenant

2 - No método de autenticação FoxIDs em FoxIDs Control Client

  1. Adicione a authority https://login.microsoftonline.com/common/v2.0
  2. Selecione edit issuer
  3. Altere o issuer para https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0, por exemplo https://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 claim auth_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

  1. Crie a resource app Microsoft Entra ID
  2. Exponha um scope da resource app e conceda à client app o scope da resource app

2 - Depois vá ao FoxIDs Control Client

  1. Selecione show advanced
  2. Selecione edit issuer
  3. Adicione o issuer do access token https://sts.windows.net/{Microsoft Entra ID tenant ID}/, por exemplo https://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/, onde adiciona o tenant ID Microsoft Entra ID
  4. Adicione o scope da resource app como scope no cliente do método de autenticação FoxIDs
  5. 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

  1. Os papéis são devolvidos num claim roles, que pode ser alterado para um claim role, sem o s, adicionando uma map claims transformation.
    Escreva role em new claim, defina a ação como replace claim e escreva roles em select claim
  2. Adicione o claim role aos 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 role no registo de aplicação para que seja emitido para a aplicação.

A sua privacidade

A sua privacidade

Usamos cookies para melhorar a sua experiência nos nossos sites. Clique no botão 'Aceitar todos os cookies' para concordar com a utilização de cookies. Para recusar cookies não essenciais, clique em 'Apenas cookies necessários'.

Visite a nossa página de Política de Privacidade para saber mais