Comparatifs
OAuth 2.0 sert à autoriser, OpenID Connect à authentifier. OIDC est une couche ajoutée par-dessus OAuth 2.0.
OAuth 2.0 répond à « cette application a-t-elle le droit d'accéder à telle ressource ? » et délivre un jeton d'accès. OpenID Connect répond à « qui est la personne connectée ? » et ajoute un jeton d'identité (ID token) et le scope openid.
| OAuth 2.0 | OpenID Connect | |
|---|---|---|
| Question | Qu'a-t-on le droit de faire ? | Qui est connecté ? |
| Jeton principal | Jeton d'accès (opaque ou JWT) | ID token (JWT signé) |
| Destinataire du jeton | L'API (ressource) | L'application (client) |
| Scope clé | Propres à l'API (lecture, écriture…) | openid, profile, email |
| Informations sur la personne | Non standardisées | Claims standard, endpoint userinfo |
| Erreur classique | Utiliser un jeton d'accès pour identifier quelqu'un | Oublier de vérifier nonce, audience et signature |