OAuth 2.0
Sécurité et environnements
Protégez les credentials, tokens, sessions et frontières entre environnements.
Séparer les environnements
Le développement, le staging et la production utilisent des clients et des enregistrements de redirects distincts. Traitez chaque environnement comme une Security Boundary indépendante.
- N’utilisez jamais les secrets de production en développement local.
- N’acceptez jamais un callback émis pour un autre environnement.
- Regroupez l’issuer, la client ID, le secret et les redirects dans une Environment Configuration typée.
- Faites échouer le démarrage si une configuration OAuth requise est absente.
Protéger les credentials et les tokens
- Effectuez le Code Exchange, le Refresh, l’Introspection, la Revocation et les appels UserInfo sur le serveur.
- Chiffrez les secrets et les Refresh Tokens at rest.
- Supprimez des logs les Authorization Codes, tokens, secrets, cookies et claims personnels.
- Ne placez pas de tokens dans les URLs.
- Faites immédiatement une rotation d’un secret susceptible d’avoir été exposé.
- Générez de nouvelles valeurs
state,nonceet PKCE à chaque tentative. - Rendez les OAuth Transactions brèves et à usage unique.
- Régénérez le Session Identifier local après l’authentification.
- Utilisez des cookies sécurisés et HTTP-only, et protégez les requests qui modifient l’état contre les attaques CSRF.
- Autorisez les Resources protégées à chaque Server Request, et pas uniquement dans l’interface.
Limiter les données
Demandez et conservez uniquement les données requises pour la finalité documentée du site. Définissez les processus de conservation, de suppression, d’accès et de gestion des incidents avec vos responsables de la confidentialité et de la sécurité.