Comprendre le mécanisme
OpenID Connect ajoute une couche d’identité à OAuth. L’ID token exprime des informations destinées au client selon le flux OIDC, avec des règles de validation propres. Un access token sert à présenter une autorisation au serveur de ressources selon son profil ; il peut être opaque ou structuré. La présence d’un utilisateur dans les deux ne les rend pas interchangeables.
Raisonner et vérifier
Attribuez à chaque composant le jeton qu’il doit consommer. Le client valide son contexte d’authentification, notamment nonce lorsqu’il est requis par le flux, tandis que l’API valide son audience et ses règles d’accès. Un token ne remplace pas les contrôles du protocole de redirection. Documentez les flux et bibliothèques choisis plutôt que reconstituer OAuth à partir de trois segments.
Destinataire OIDC
Un ID token vise le client OIDC selon son profil. Les consommateurs et profils doivent être distingués. Un ID token informe le client OIDC d’un résultat d’authentification selon son flux. Une API de ressources ne doit pas l’accepter comme jeton d’accès simplement parce que sa signature est valide.
Understand this common mistake
Un ID token donne automatiquement accès à toute API.
Les consommateurs et profils doivent être distingués.
Token opaque
Un access token peut être opaque. Le protocole ne fixe pas universellement cette représentation. Le rôle access token n’impose pas une représentation JWT. Le serveur de ressources applique le mécanisme prévu, par exemple introspection ou validation locale, sans tenter de décoder arbitrairement toute chaîne.
Understand this common mistake
OAuth impose toujours trois segments JWT.
Le protocole ne fixe pas universellement cette représentation.
Audience API
Une API doit vérifier sa propre audience attendue. La destination reste une exigence du profil. Votre API vérifie sa propre audience dans le profil approprié. Un token destiné à web-client ne devient pas acceptable pour reservation-api parce que les deux appartiennent à la même organisation.
Understand this common mistake
Une bonne signature autorise tout consommateur.
La destination reste une exigence du profil.
Nonce
nonce peut lier le contexte selon le flux OIDC. Les contrôles de contexte et de preuve sont complémentaires. Dans les flux où il est utilisé, nonce relie la réponse au contexte initié par le client. Il complète les autres validations OIDC et ne remplace jamais à lui seul signature ou contrôle d’émetteur.
Understand this common mistake
nonce remplace la vérification de signature.
Les contrôles de contexte et de preuve sont complémentaires.
Flux choisi
Le client doit suivre les règles du flux choisi. La sérialisation ne définit pas tout le protocole. Code, échanges serveur et stockage de contexte ont des exigences précises. Utilisez une bibliothèque de protocole et testez les chemins d’erreur, plutôt que reconstruire un login en lisant seulement les claims.
Understand this common mistake
Compter les points suffit à implémenter OIDC.
La sérialisation ne définit pas tout le protocole.
Redirection
Les règles de redirection restent nécessaires. Le protocole de retour a ses propres contraintes. Les destinations de retour doivent être enregistrées et comparées selon les règles applicables. Une redirection trop libre peut détourner un code ou un token malgré une authentification utilisateur correcte.
Understand this common mistake
Un JWT signé rend toute URL de retour sûre.
Le protocole de retour a ses propres contraintes.
Sujet et droit
Le sujet d’un ID token ne prouve pas toute permission d’API. L’identité ne détermine pas seule les droits. Le sujet authentifié peut être reconnu par le client sans posséder de permission sur une facture de l’API. Les droits de ressource doivent être évalués dans leur contexte métier.
Understand this common mistake
Connaître sub donne un scope administrateur.
L’identité ne détermine pas seule les droits.
Substitution signée
Une substitution de profil doit être testée avec une signature valide. Un cas correctement signé isole le contrôle de profil. Testez un ID token correctement signé là où un access token est exigé. Une signature volontairement invalide ne démontre pas le rejet du mauvais profil puisqu’elle échoue plus tôt.
Understand this common mistake
Casser la signature suffit à tester la distinction ID/access token.
Un cas correctement signé isole le contrôle de profil.
Bibliothèque adaptée
Une bibliothèque adaptée aide à appliquer le protocole. Il manque les échanges et vérifications du flux. Une bibliothèque JWT générale ne fournit pas nécessairement tout le flux OIDC. Vérifiez gestion d’état, nonce, découverte et erreurs requises par le rôle que votre composant assume.
Understand this common mistake
Un décodeur base64 fournit tout un client OIDC sûr.
Il manque les échanges et vérifications du flux.
Claims ressemblants
L’ID token et l’access token peuvent partager des claims sans être interchangeables. La signification dépend du rôle et du destinataire. iss, sub et exp peuvent apparaître dans plusieurs tokens. Leur ressemblance ne rend pas les profils interchangeables ; type, audience et règles du protocole déterminent l’usage admissible.
Understand this common mistake
Des champs communs rendent les tokens équivalents.
La signification dépend du rôle et du destinataire.
Atelier guidé : lire, expliquer et vérifier le code
{
"consumer": "reservation-api",
"receivedProfile": "ID token",
"aud": "web-client",
"signature": "valid"
} Le token reçu est explicitement un ID token pour web-client et le consommateur est reservation-api. Sa signature valide ne corrige ni le rôle ni l’audience. Écrivez un test de substitution avec une preuve correcte et confirmez le refus avant tout accès aux données de réservation.
La preuve ne remplace pas le contrat de destination. La validation doit refuser la substitution de rôle et d’audience. Les deux usages ne sont pas interchangeables. Les noms désignent des consommateurs différents.
Travail pratique : Préparez un ID token et un access token de laboratoire avec audiences différentes. Envoyez chacun aux deux composants.
Critères de correction : Seules les combinaisons du contrat doivent réussir. Vérifiez que l’API refuse un token d’identité même si sa signature est correcte et son utilisateur connu.
Worked example
Fournisseur → ID token → client OIDC
Fournisseur → access token → API de ressourcesCe diagramme distingue les consommateurs ; il ne décrit pas à lui seul tout le protocole.
Practical exercise
Préparez un ID token et un access token de laboratoire avec audiences différentes. Envoyez chacun aux deux composants.
View a suggested solution
Seules les combinaisons du contrat doivent réussir. Vérifiez que l’API refuse un token d’identité même si sa signature est correcte et son utilisateur connu.
Verification checklist
- Consommateur explicite.
- Profil distinct.
- Contexte du flux validé.
Knowledge check
Related lesson: 08. ID token et access token ↗Module validation
101 questions, local practice target of 75%. Suggested duration of 150 minutes, with no enforced deadline. Questions and choices are shuffled; corrections appear after submission. The quick lesson check and the final course exam remain separate exercises.
Start or resume the 101 questions →This records your own progress and does not certify mastery. Complete the exercise before moving on.
