OAuth 2.0
Segurança e ambientes
Proteja credenciais, tokens, sessões e limites entre ambientes.
Separar os ambientes
Desenvolvimento, staging e produção utilizam clientes e registos de redirects distintos. Trate cada ambiente como uma Security Boundary separada.
- Nunca utilize secrets de produção no desenvolvimento local.
- Nunca aceite um callback emitido para outro ambiente.
- Mantenha o issuer, a client ID, o secret e os redirects numa única Environment Configuration tipada.
- Interrompa o arranque se faltar uma configuração OAuth obrigatória.
Proteger credenciais e tokens
- Efetue o Code Exchange, Refresh, Introspection, Revocation e as chamadas UserInfo no servidor.
- Encripte os secrets e Refresh Tokens at rest.
- Remova dos logs os Authorization Codes, tokens, secrets, cookies e claims pessoais.
- Não coloque tokens em URLs.
- Rode imediatamente um secret que possa ter sido exposto.
Proteger a sessão do browser
- Gere novos valores de
state,noncee PKCE para cada tentativa. - Mantenha as OAuth Transactions breves e de utilização única.
- Volte a gerar o Session Identifier local após a autenticação.
- Utilize cookies seguros e HTTP-only e proteja contra CSRF as requests que alteram o estado.
- Autorize as Resources protegidas em cada Server Request, e não apenas na interface.
Limitar os dados
Solicite e conserve apenas os dados necessários à finalidade documentada do site. Defina os processos de retenção, eliminação, acesso e gestão de incidentes com os responsáveis pela privacidade e segurança.