Método de autenticação OpenID Connect

Um método de autenticação OpenID Connect do FoxIDs liga o FoxIDs a um OpenID Provider (OP) ou Identity Provider (IdP) externo. O fornecedor externo autentica o utilizador, enquanto o FoxIDs atua como Relying Party (RP) e disponibiliza a identidade resultante aos registos de aplicações selecionados.

Método de autenticação OpenID Connect do FoxIDs

É possível configurar vários métodos de autenticação OpenID Connect e selecioná-los nos registos de aplicações. As principais funcionalidades incluem discovery e atualizações automáticas das chaves de assinatura, Authorization Code Flow com PKCE, autenticação de cliente, origens de reivindicações configuráveis, encaminhamento e transformação de reivindicações.

Configuração

No FoxIDs Control:

  1. Selecione o ambiente que deve confiar no fornecedor externo.
  2. Abra Authentication e clique em Add authentication.
  3. Selecione Connect to OpenID Provider. Este tipo padrão é apresentado sem ativar Show all options.
  4. Configure o fornecedor e clique em Create.

Selecionar o tipo de autenticação OpenID Connect

Exemplo do Google

Este exemplo estabelece ligação ao Google com a seguinte authority:

https://accounts.google.com

Configure o método de autenticação com:

  • Um Name descritivo.
  • A authority do Google em Authority.
  • Os scopes profile e email. O FoxIDs inclui automaticamente o scope obrigatório openid.
  • Use PKCE ativado.
  • O client secret emitido pelo Google.
  • * em Forward claims para encaminhar todas as reivindicações recebidas.
  • Read claims from the ID token instead of the access token ativado em Show advanced.

Os scopes necessários e a necessidade de scopes adicionais variam entre fornecedores. Configure apenas os scopes exigidos pelo fornecedor externo e necessários para as informações do utilizador utilizadas pelas suas aplicações.

Copie o Redirect URL apresentado pelo FoxIDs e registe-o como redirect URI autorizado no fornecedor externo. O Google também emite um client ID para o cliente OAuth. Ative Show advanced e introduza esse valor em Optional custom SP client ID. Se não estiver configurado um client ID personalizado, o FoxIDs utiliza o nome do método de autenticação como client ID.

Configurar um método de autenticação Google OpenID Connect

Discovery e atualizações automáticas

Quando o método de autenticação é criado, o FoxIDs lê o documento OpenID Connect discovery do fornecedor em:

https://accounts.google.com/.well-known/openid-configuration

O FoxIDs lê o issuer, as chaves de assinatura e os endpoints suportados, incluindo os endpoints authorization, token, UserInfo e end-session quando estão presentes. Volte a abrir o método de autenticação para consultar o issuer, as chaves e os endpoints detetados.

Issuer OpenID Connect e chaves de assinatura detetados

O FoxIDs volta a ler a discovery periodicamente e aplica futuras alterações aos endpoints e às chaves de assinatura. Se a discovery continuar indisponível e as atualizações automáticas pararem, atualize o método de autenticação no FoxIDs Control ou através da Control API para as reiniciar. O intervalo de atualização pode ser alterado em Show advanced.

O FoxIDs Control cria métodos de autenticação atualizados automaticamente a partir da discovery. A Control API também suporta configurações mantidas manualmente, nas quais o issuer, as chaves e os endpoints são fornecidos diretamente e a discovery não é chamada.

Reivindicações e encaminhamento

Por predefinição, o FoxIDs valida o ID token e lê as reivindicações do utilizador a partir do access token externo. Em Show advanced, a origem das reivindicações pode ser alterada para:

  • Read claims from the ID token instead of the access token.
  • Read claims from the UserInfo Endpoint instead of the access token or ID token.

A opção UserInfo utiliza o access token externo para chamar o endpoint UserInfo detetado. As duas alternativas são mutuamente exclusivas no FoxIDs Control.

Selecionar a origem das reivindicações OpenID Connect

O método de autenticação encaminha as reivindicações predefinidas e as listadas em Forward claims para os registos de aplicações. Adicione * para encaminhar todas as reivindicações recebidas; esta é a predefinição. As reivindicações transferidas por predefinição são sub, sid, acr e amr.

Adicione access_token para disponibilizar o access token externo aos registos de aplicações. Se o fornecedor externo devolver um refresh token, adicione também refresh_token para o encaminhar. Um refresh token é normalmente devolvido apenas ao utilizar Authorization Code Flow e o scope específico do fornecedor necessário para acesso offline, como offline_access.

As reivindicações podem ser selecionadas, renomeadas, combinadas ou alteradas de outras formas com transformações e tarefas de reivindicações. Uma reivindicação criada por uma transformação permanece local ao método de autenticação, exceto se for incluída em Forward claims ou se for utilizado *.

Autenticação de cliente e PKCE

O método de autenticação utiliza Authorization Code Flow com PKCE por predefinição. O método predefinido de autenticação de cliente no endpoint token é client secret post.

Ative Show advanced para selecionar client secret basic ou private key JWT. Com private key JWT, importe o certificado de cliente depois de criar o método de autenticação e registe a chave pública correspondente no fornecedor externo.

Selecionar o método de autenticação de cliente do endpoint token

O fornecedor determina os métodos de autenticação de cliente e as opções PKCE suportados. Utilize a configuração mais forte suportada por ambas as partes.

Perfis

Os perfis permitem que um método de autenticação OpenID Connect disponibilize variantes alternativas de login sem duplicar toda a configuração do fornecedor. Um perfil mantém as definições base do método de autenticação e pode:

  • Adicionar scopes específicos do fornecedor aos scopes configurados no método de autenticação.
  • Adicionar parâmetros ao pedido authorization ou substituir parâmetros adicionais com o mesmo nome configurados no método de autenticação.

Abra o método de autenticação, ative Show advanced, selecione o separador Profiles e clique em Add Profile. Atribua ao perfil um Name descritivo e um Technical name exclusivo e, em seguida, configure os scopes e parâmetros adicionais.

O exemplo abaixo adiciona prompt=login, que solicita ao OpenID Provider externo que volte a autenticar o utilizador. O valor custom_scope mostra onde pode ser adicionado um scope específico do fornecedor. Substitua-o por um scope suportado pelo fornecedor ou omita-o se não for necessário um scope adicional.

Configurar um perfil de método de autenticação OpenID Connect

Num registo de aplicação, o próprio método de autenticação e cada perfil estão disponíveis como seleções separadas. Pode permitir o método base, um ou mais perfis ou ambos. Quando o método base é selecionado, não são aplicadas definições de perfil. Quando um perfil é selecionado, o FoxIDs combina os respetivos scopes e parâmetros adicionais com a configuração base.

Definições avançadas do fornecedor

As seguintes definições estão disponíveis em Show advanced:

  • Optional custom SP client ID substitui o nome do método de autenticação utilizado como client ID. Utilize esta opção quando o fornecedor emitir ou exigir um client ID específico.
  • Edit issuers substitui o issuer obtido através da discovery por uma lista explícita. Isto suporta fornecedores que emitem tokens de vários issuers com as mesmas chaves de assinatura. * aceita qualquer issuer e só deve ser utilizado quando essa confiança for intencional. O issuer aceite é adicionado à reivindicação auth_method_issuer.
  • Party binding pattern altera o formato do URL de callback do FoxIDs para interoperabilidade com o fornecedor. O FoxIDs utiliza por predefinição o padrão de parênteses .../(auth-method)/...; os padrões com til .../~auth-method~/... e pontos .../.auth-method./... também são suportados.
  • Response type, response mode, o intervalo de atualização da discovery e as definições de logout e confiança fornecem controlo adicional do protocolo.

O issuer e as chaves de assinatura apresentados após a criação permanecem só de leitura enquanto o issuer detetado é utilizado. Ative Edit issuers apenas quando o fornecedor exigir uma configuração de issuer diferente da discovery.

Guias práticos

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