« Oauth2 lecture » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 53 : | Ligne 53 : | ||
=== Jeton d'identification === | === Jeton d'identification === | ||
[https://developers.google.com/identity/protocols/oauth2/openid-connect?csw=1#validatinganidtoken google exemple] | [https://developers.google.com/identity/protocols/oauth2/openid-connect?csw=1#validatinganidtoken google exemple] | ||
<pre> | <pre> | ||
| Ligne 61 : | Ligne 60 : | ||
Vérifiez la valeur de la revendication iss dans le jeton d'ID | Vérifiez la valeur de la revendication iss dans le jeton d'ID | ||
Vérifiez que la valeur de la revendication aud dans le jeton d'ID est égale à l'ID client de votre application. | Vérifiez que la valeur de la revendication aud dans le jeton d'ID est égale à l'ID client de votre application. | ||
Vérifiez que le délai d'expiration (demande exp ) du jeton d'ID n'est pas dépassé. | Vérifiez que le délai d'expiration (demande exp) du jeton d'ID n'est pas dépassé. | ||
Si vous avez spécifié une valeur de paramètre hd dans la demande, vérifiez que le jeton d'ID a une revendication hd qui correspond à un domaine hébergé accepté. | Si vous avez spécifié une valeur de paramètre hd dans la demande, vérifiez que le jeton d'ID a une revendication hd qui correspond à un domaine hébergé accepté. | ||
les clefs publiques peuvent etre mises en cache et donc effectuer une validation local. | les clefs publiques peuvent etre mises en cache et donc effectuer une validation local. | ||
Cette validation nécessite de récupérer et d'analyser les certificats, et d'effectuer les appels cryptographiques appropriés pour vérifier la signature | Cette validation nécessite de récupérer et d'analyser les certificats, et d'effectuer les appels cryptographiques appropriés pour vérifier la signature | ||
Heureusement, il existe des bibliothèques bien déboguées disponibles dans une grande variété de langages pour accomplir cela | Heureusement, il existe des bibliothèques bien déboguées disponibles dans une grande variété de langages pour accomplir cela | ||
</pre> | </pre> | ||
[https://jwt.io/ (voir jwt.io)] | |||
=== | === ID Token === | ||
<pre> | <pre> | ||
Ils permettent à un fournisseur d’API de vérifier l’identité d’un utilisateur et les droits d’un client, à la réception d’une requête, sans nécessiter un appel au Serveur d’Autorisation. | Ils permettent à un fournisseur d’API de vérifier l’identité d’un utilisateur et les droits d’un client, à la réception d’une requête, sans nécessiter un appel au Serveur d’Autorisation. | ||
| Ligne 84 : | Ligne 84 : | ||
D’autres claims sont optionnels et peuvent être retournés par le Serveur d’Identités si ils ont été demandés par le client. Il s’agit souvent d’informations sur l’utilisateur : par exemple son nom, son email, sa date de naissance… La spécification OIDC précise la syntaxe de beaucoup de claims standards (given_name, gender, birthdate…) | D’autres claims sont optionnels et peuvent être retournés par le Serveur d’Identités si ils ont été demandés par le client. Il s’agit souvent d’informations sur l’utilisateur : par exemple son nom, son email, sa date de naissance… La spécification OIDC précise la syntaxe de beaucoup de claims standards (given_name, gender, birthdate…) | ||
</pre> | |||
=== JWT === | |||
<pre> | |||
le jeton d’identité JWT regroupe, de façon indissociable et infalsifiable, l’identité de l’utilisateur final, celle de l’application cliente et les portées d’autorisation | le jeton d’identité JWT regroupe, de façon indissociable et infalsifiable, l’identité de l’utilisateur final, celle de l’application cliente et les portées d’autorisation | ||