Fluxo OIDC de referência
Diagrama educacional do fluxo Authorization Code + PKCE (OAuth 2.1) para aplicações que integram o pacote licenciado Área 51.
Nota de fidelidade: este diagrama modela a integração OIDC do cliente licenciado
(app protegida + IdP). A loja pública em area51.caracore.com.br é vitrine institucional —
não executa checkout OIDC nem entrega o pacote por download directo.
Sequência lab / homologação
sequenceDiagram
autonumber
actor Utilizador
participant RP as App protegida (RP)
participant IdP as Provedor de identidade
participant API as Recurso protegido
Utilizador->>RP: Acede a rota /protected
Note over RP: Gera code_verifier e code_challenge PKCE S256
Gera state para proteção CSRF
RP->>IdP: Redirect /authorize com PKCE e state
IdP->>Utilizador: Tela de login
Utilizador->>IdP: Credenciais
IdP->>RP: Redirect com Authorization Code e state
Note over RP: Valida state recebido
RP->>IdP: POST /token com code e code_verifier
Note over RP,IdP: PKCE validado na troca — preferir back-end ou BFF
IdP->>RP: ID Token e Access Token
RP->>API: Pedido com Bearer Access Token
Note over API: Valida JWT assinatura exp audiência e escopos
API->>RP: Recurso autorizado
RP->>Utilizador: Sessão autenticada
Passos resumidos
- 1 — Intenção: o utilizador acede a uma rota protegida da aplicação cliente.
- 2 — PKCE: a RP gera par verifier/challenge antes do redirect (sem client secret no browser).
- 3 — Login: o IdP autentica e devolve um authorization code de uso único.
- 4 — Tokens: a RP troca o code por tokens; o IdP valida PKCE na troca.
- 5 — Acesso: a API ou rota protegida valida o access token antes de servir o recurso.
Ver também: fronteiras e segurança · o que recebe na entrega · apresentação técnica.