Validation (OpenID Connect Core §3.1.3.7) : vérifiez la signature avec une clé du JWKS du fournisseur et l’algorithme enregistré par le client (RS256 par défaut) ; vérifiez que iss est égal à l’émetteur du fournisseur, que aud contient l’ID du client (et azp s’il y a plusieurs audiences), que exp est dans le futur et que nonce correspond à la valeur envoyée par le client ; en option, vérifiez auth_time, acr et amr. L’identifiant stable de l’utilisateur est le couple iss et sub, pas l’adresse e-mail.
Un jeton d’ID est destiné au client, pas aux API : l’envoyer comme jeton d’accès à un serveur de ressources est un anti-pattern courant, car son audience est le client. Les flux hybride et implicite renvoient les jetons d’ID via le navigateur ; c’est pourquoi at_hash et c_hash existent : ils lient les jetons entre eux.