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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Erreur fréquente à comprendre
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.
Exemple commenté
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.
Exercice de mise en pratique
Préparez un ID token et un access token de laboratoire avec audiences différentes. Envoyez chacun aux deux composants.
Voir une proposition 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.
Points de vérification
- Consommateur explicite.
- Profil distinct.
- Contexte du flux validé.
Contrôle de connaissances
Cours associé : 08. ID token et access token ↗Validation du module
101 questions, objectif pédagogique de 75 %. Durée conseillée de 150 minutes, sans limite imposée. Les questions et les choix sont mélangés ; le corrigé apparaît après validation. Le contrôle rapide de la leçon et l’examen final du cours restent des exercices distincts.
Commencer ou reprendre les 101 questions →Cette marque suit votre propre avancement ; elle ne certifie pas la maîtrise du sujet. Effectuez l’exercice avant de passer à la suite.
