Oauth2 type de flux

De Marmits Wiki

Synthèse des flux d’autorisation (Grant Type)

1. Requêtes adressées au point d’extrémité authorize. Les différentes valeurs du paramètre response_type (obligatoire) et du scope openid (facultatif) déterminent les flux d’autorisation (Grant Type) suivants :

point d’extrémité authorize.
Grant Type response_type openid Rem.
OAuth 2.0 Authorization Code code Non RFC 6749
OIDC Authorization Code code Oui
OAuth 2.0 Implicit token X[1] RFC 6749
OIDC Implicit id_token, id_token token Oui [2] OpenID Connect Implicit Client. ’nonce’ est requis.
OIDC Hybrid code id_token Oui ’c_hash’ est requis
Hybrid code token X Invalid [3]
Hybrid code id_token token Oui Invalid [4]

2. Requêtes adressées directement au point d’extrémité token. Ces flux ne sont définis que par OAuth 2.0 et ne retournent pas de jeton d’identité, que le scope openid soit indiqué ou non.


point d’extrémité token.
Grant Type grant_type Access Token Refresh Token Rem.
Client Credentials client_credentials Oui Oui [4]
User Credentials [5] password Oui Non -
JWT Bearer - Oui Non [6]


[1] Que le scope openid soit fourni ou non, ce flux Implicite ne retourne pas de jeton d’Identité.

[2] Que le scope openid soit fourni ou non, ce flux retourne toujours le jeton d’Identité.

[3] Non encore implémenté dans l’état actuel du développement de la librairie OAuth 2.0 Server PHP.

[4] Ce flux ne fournit pas le jeton d’actualisation. Voir : http://tools.ietf.org/html/rfc6749#section-4.4.3

[5] Ou "Resource Owner Password Credentials Grant Type". Nous citons ce flux, et OAuthSD le met en œuvre, uniquement par souci de complétude. Ce flux ne doit pas être considéré comme une authentification ; au contraire, l’utilisation de ce flux conduit à une impersonnalisation (sur ce sujet, voir : https://www.scottbrady91.com/OAuth/..., nous recommandons donc de ne pas l’utiliser.

[6] Cela ressemble beaucoup à l’échange de jeton décrit ici : Un jeton d’identité peut être utilisé pour ... et par cette proposition de standard : Draft IETF : Token Exchange.

[7] C’est là l’essence même d’OpenID Connect. Le flux Authorization Code fournit un jeton JWT qui, par sa signature, lie le client, l’utilisateur final et la portée de l’autorisation.

https://oa.dnc.global Type de flux selon les paramètres de l’appel

Schéma

Quelle subvention OAuth 2.0 dois-je mettre en œuvre ?