Menu AuthGuardCentro de ajuda
Englishauthguard.pt

Programadores · OpenID Connect

Integrar uma aplicação por OpenID Connect

  • 1 min de leitura
  • SaaS · Instalação própria

O AuthGuard é um fornecedor OpenID Connect. A sua aplicação usa o fluxo de código de autorização e recebe um ID token assinado.

Endereços

ItemValor
Emissorhttps://<anfitrião>
Descobertahttps://<anfitrião>/.well-known/openid-configuration
Chaves públicas (JWKS)https://<anfitrião>/oauth2/jwks
Revogaçãohttps://<anfitrião>/oauth2/revoke
Saídahttps://<anfitrião>/oauth2/logout

O documento de descoberta lista os endpoints de autorização, token e userinfo.

O fluxo

  1. Redirecione para o endpoint de autorização com response_type=code, o client_id, um redirect_uri registado exatamente, scope=openid email profile, state, nonce e PKCE (code_challenge_method=S256).
  2. A pessoa confirma com a passkey (que assina esse pedido e só esse), com o telemóvel, ou com a sessão única.
  3. Troque o code no endpoint de token (o código vale 120 segundos e só uma vez).
  4. Valide o ID token: assinatura (RS256 ou ES256) com o JWKS, iss, aud, exp, nonce.

O acr indica o método: urn:authguard:acr:passkey:v1 ou urn:authguard:acr:device-approval:v1. email_verified só é true para endereços confirmados ou vindos de um diretório gerido.

Tokens de renovação, revogação e saída

  • Com tokens de renovação ativos, cada renovação devolve um novo token que substitui o anterior; reutilizar um token antigo revoga toda a família. A renovação dura enquanto a sessão existir, no máximo 24 horas, e caduca após 15 minutos sem uso.
  • POST /oauth2/revoke revoga um token (RFC 7009).
  • Saída iniciada pela aplicação: /oauth2/logout?id_token_hint=…&post_logout_redirect_uri=…&state=…. Sem id_token_hint, nada é terminado. Não há saída por back-channel nem front-channel.

prompt=none

Funciona só com uma sessão única utilizável; caso contrário volta login_required.

Política

Cada entrada é avaliada pela ação federation.authorize com o recurso igual ao client_id; sem regra, a resposta é access_denied.

Códigos de erro deste artigo

Referência do artigodev-oidc-integrationindique-a ao suporte para identificar este artigo. Verificado contra o produto no commit 5f6607a8.