OAuth 2.0
Seguridad y entornos
Proteja credenciales, tokens, sesiones y límites entre entornos.
Separar los entornos
Desarrollo, staging y producción utilizan clientes y registros de redirects distintos. Trate cada entorno como una Security Boundary independiente.
- No utilice nunca secrets de producción en el desarrollo local.
- No acepte nunca un callback emitido para otro entorno.
- Mantenga el issuer, la client ID, el secret y los redirects en una única Environment Configuration tipada.
- Impida el inicio si falta una configuración de OAuth obligatoria.
Proteger credenciales y tokens
- Realice el Code Exchange, Refresh, Introspection, Revocation y las llamadas a UserInfo en el servidor.
- Cifre los secrets y Refresh Tokens at rest.
- Elimine de los logs los Authorization Codes, tokens, secrets, cookies y claims personales.
- No incluya tokens en las URLs.
- Rote inmediatamente un secret que pueda haber quedado expuesto.
Proteger la sesión del navegador
- Genere nuevos valores de
state,noncey PKCE para cada intento. - Haga que las OAuth Transactions sean breves y de un solo uso.
- Regenerar el Session Identifier local después de la autenticación.
- Utilice cookies seguras y HTTP-only y proteja frente a CSRF las requests que cambien el estado.
- Autorice las Resources protegidas en cada Server Request, no solo en la interfaz.
Limitar los datos
Solicite y conserve únicamente los datos necesarios para la finalidad documentada del sitio web. Defina con los responsables de privacidad y seguridad los procesos de conservación, eliminación, acceso y gestión de incidentes.