« Oauth2 lecture » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 260 : | Ligne 260 : | ||
extremite=>"introspect"<br /> | extremite=>"introspect"<br /> | ||
https://oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectintrospectionintrospectionendpoint | https://oa.dnc.global/-API-OpenID-Connect-Points-d-extremite-.html#apiopenidconnectintrospectionintrospectionendpoint | ||
=== Forme de la demande d’Introspection === | |||
<pre> | |||
Contrôle de l’accès | |||
Les demandes adressées au point de terminaison d’introspection doivent être authentifiées avec les informations d’identification du client (Client Credentials Grant) ou autorisées avec un jeton d’accès au porteur (Bearer Token). | |||
En conséquence, l’application appelante (ou le serveur de ressource) doit être enregistrée comme cliente sur le serveur d’authentification | |||
Client Credentials Grant | |||
C’est l’approche la plus simple et celle qui est recommandée. | |||
L’application appelante (ou le serveur de ressource) doit être enregistrée comme cliente sur le serveur d’authentification [1]. | |||
L’authentification est effectuée en utilisant l’authentification HTTP Basic (cf. section 2.3.1 de OAuth 2.0 [RFC6749]). Les identifiants client_id et client_secret sont ceux qui ont été définis lors de l’inscription de l’application cliente sur le serveur. | |||
Bearer Token | |||
Cette approche nécessite un jeton d’accès pour autoriser la demande d’introspection. | |||
Pour un serveur de ressource, cela est plus compliqué du fait de la durée limitée de validité du jeton d’accès, contraignant à une nouvelle demande de jeton. Une façon d’obtenir un tel jeton consiste à inscrire l’application pour le flux Client Credential Grant. | |||
L’authentification est effectuée en passant le jeton dans l’en-tête Authorization de la demande d’introspection. | |||
</pre> | |||
=== Contrôle de l’accès === | === Contrôle de l’accès === | ||
| Ligne 323 : | Ligne 340 : | ||
</pre> | </pre> | ||
[https://oa.dnc.global/-OpenID-Connect-6-.html#validationdujetondidentiteidtokenjwtsigneoujws Validation du jeton d’identité ID Token (JWT signé ou JWS)] | [https://oa.dnc.global/-OpenID-Connect-6-.html#validationdujetondidentiteidtokenjwtsigneoujws Validation du jeton d’identité ID Token (JWT signé ou JWS)] | ||
=== Symfony === | === Symfony === | ||
| Ligne 356 : | Ligne 364 : | ||
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY } | - { path: ^/api, roles: IS_AUTHENTICATED_FULLY } | ||
</pre> | </pre> | ||
=== Ressources === | |||
[https://www.mechantblog.com/2018/12/token-api-macaroon-jwt/ Le TOKEN API: Simple, JWT et macaron]<br /> | |||
[https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir#security_pillars Sécuriser une API REST : tout ce qu’il faut savoir]<br /> | |||
[https://www.vaadata.com/blog/fr/jetons-jwt-et-securite-principes-et-cas-dutilisation/ Jetons JWT et sécurité – Principes et cas d’utilisation]<br /> | |||
[https://oa.dnc.global/-Decouvrir-.html#definitions Définitions]<br /> | |||
[https://oa.dnc.global/-OAuth-2-0-.html#oauth20lestypesdautorisationgranttype OAuth 2.0 : Les Types d’Autorisation (Grant Type)] | |||
[[Catégorie:Oauth2]] | [[Catégorie:Oauth2]] | ||