« 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 ===  
google exemple
[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 (voir jwt.io ).
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)]


=== JWT ===
=== 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