Ir al contenido principal

OAuth 2.0

Definicion

OAuth 2.0 es un estandar de autorizacion abierto que permite a las aplicaciones obtener acceso limitado a cuentas de usuario en otros servicios.

OAuth 2.0 es un estandar de autorizacion abierto que permite a las aplicaciones obtener acceso limitado a cuentas de usuario en otros servicios sin compartir contrasenas. Es la base de Iniciar sesion con Google, autorizacion de APIs y delegacion de derechos de acceso entre aplicaciones.

Como funciona OAuth 2.0?

OAuth 2.0 permite la autorizacion delegada mediante un flujo de cuatro pasos: la aplicacion solicita consentimiento del usuario para scopes especificos, el usuario otorga permiso en el servidor de autorizacion, el servidor emite un codigo de autorizacion, y la aplicacion lo intercambia por un access token.

OAuth 2.0 y OpenID Connect

OAuth 2.0 es un protocolo de autorizacion (que puede hacer una app). OpenID Connect (OIDC) es una capa de autenticacion sobre OAuth 2.0 (quien es el usuario). Juntos forman la base del SSO moderno.

Riesgos de seguridad

Las configuraciones incorrectas de OAuth son un vector de ataque comun. OWASP API Security Top 10 nombra Broken Object Level Authorization como el principal riesgo de API. Los riesgos incluyen: scopes demasiado amplios, robo de tokens mediante XSS o redireccionamientos abiertos, validacion insuficiente de URIs de redireccion y falta de expiracion de tokens.

Impacto para las organizaciones

Practicamente toda aplicacion web moderna y API utiliza OAuth 2.0. La implementacion incorrecta puede llevar a acceso no autorizado.

Proteccion

Utilice bibliotecas OAuth probadas en lugar de implementaciones propias. Limite los scopes al minimo necesario. Valide estrictamente las URIs de redireccion. Implemente expiracion y rotacion de tokens. Utilice PKCE para clientes publicos.

Como ayuda DEFION

DEFION prueba implementaciones OAuth como parte de Web Application Pentests y API Security Assessments.

Terminos relacionados

Seguridad de APIs IAM (Gestion de Identidades y Accesos) SSO (Inicio de Sesion Unico)