Comparativas

OAuth 2.0 u OpenID Connect: ¿cuál es la diferencia?

OAuth 2.0 sirve para autorizar y OpenID Connect para autenticar. OIDC es una capa añadida sobre OAuth 2.0.

En breve

OAuth 2.0 responde a «¿tiene esta aplicación derecho a acceder a este recurso?» y emite un token de acceso. OpenID Connect responde a «¿quién ha iniciado sesión?» y añade un token de identidad (ID token) y el scope openid.

OAuth 2.0OpenID Connect
Pregunta¿Qué se tiene derecho a hacer?¿Quién ha iniciado sesión?
Token principalToken de acceso (opaco o JWT)ID token (JWT firmado)
Destinatario del tokenL'API (ressource)L'application (client)
Scope clavePropios de la API (lectura, escritura…)openid, profile, email
Información sobre la personaNo estandarizadasClaims standard, endpoint userinfo
Error clásicoUsar un token de acceso para identificar a alguienOlvidar comprobar nonce, audiencia y firma

A recordar

  • Iniciar sesión en una aplicación: use OIDC.
  • Llamar a una API en nombre de alguien: use un token de acceso OAuth 2.0.
  • Un token de acceso no prueba la identidad: no lo use para iniciar sesión.