Fluxo do Código de Autorização
O fluxo descrito nesta documentação refere-se ao Authorization Code Flow, descrito na documentação oficial do OpenID Connect.
Visão Geral
O fluxo de código de autorização retorna um Authorization Code para o cliente, que poderá trocá-lo por um id_token e um access_token diretamente. Este fluxo possui o benefício de não expor nenhum token ao user_agent (navegador do usuário) e possivelmente para malwares com acesso ao user_agent.
Diagrama do Fluxo

Etapas Detalhadas
1. Solicitação de Autorização
O cliente redireciona o usuário para o endpoint de autorização com os parâmetros necessários.
GET {login-producao}/authorize?response_type=code&scope=openid profile&client_id=...&redirect_uri=...2. Autenticação do Usuário
O sistema apresenta a tela de login para o usuário.
3. Autorização
Após o login bem-sucedido, o sistema processa a autorização.
4. Callback com Authorization Code
O usuário é redirecionado de volta para a redirect_uri com o código de autorização.
GET /callback?code=50b98752-ac5e-4bf3-a59b-7456f9f586855. Troca do Código por Tokens
O cliente faz uma requisição POST servidor-para-servidor para trocar o código por tokens.
POST {security-producao}/api/token/v2?grant_type=authorization_code&client_id=...&client_secret=...&code=...6. Recebimento dos Tokens
O cliente recebe o id_token e access_token.
7. Validação do ID Token
O cliente valida o ID Token antes de utilizá-lo:
- Verifica o emissor (iss)
- Verifica a audiência (aud)
- Verifica a expiração (exp)
- Valida a assinatura
8. Uso dos Tokens
O cliente utiliza os tokens para:
- Identificar o usuário (id_token)
- Acessar recursos protegidos (access_token)
Segurança
Este fluxo é seguro porque:
- O
client_secretnunca é exposto ao navegador - Os tokens são trocados em comunicação servidor-para-servidor
- O código de autorização é de uso único e tem curta duração
- Todos os tokens são assinados e podem ser validados
