Je souhaite développer un SDK qui encapsule les fonctions OAuth 2.0. J'ai vérifié les différences entre OAuth 1.0 et 2.0, et j'ai une certaine confusion sur l'en-tête d'autorisation ( 1.0 et 2.0 ), les paramètres du protocole OAuth 1.0 peuvent être transmis à l'aide de l'en-tête HTTP "Authorization", mais je ne trouve pas cela décrit dans le courant Brouillon OAuth 2.0.
OAuth 2.0 prend-il en charge les en-têtes d'autorisation?
Dans OAuth 1.0, votre en-tête ressemblerait à ceci:
Authorization: OAuth realm="Example",
oauth_consumer_key="0685bd9184jfhq22",
oauth_token="ad180jjd733klru7",
oauth_signature_method="HMAC-SHA1",
oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
oauth_timestamp="137131200",
oauth_nonce="4572616e48616d6d65724c61686176",
oauth_version="1.0"
Réponses:
Pour ceux qui recherchent un exemple de la façon de transmettre l'autorisation OAuth2 (jeton d'accès) dans l'en-tête (par opposition à l'utilisation d'une requête ou d'un paramètre de corps), voici comment procéder:
la source
curl -H "Authorization: Bearer $ACCESS_TOKEN" URI
Authorization: Bearer
en0b...42
tant que données, ou l'en-tête est-ilAuthorization:
enBearer 0b...42
tant que données, ou quoi? Merci! (Btw, je suis Oauth2, si ça compte.)Authorization
est le nom de l'en-tête, les deux points séparent le nom de la valeur dans tous les en-têtes selon la section 4.2 de la RFC2616 .Vous pouvez toujours utiliser l'en-tête Authorization avec OAuth 2.0. Il existe un type de support spécifié dans l'en-tête d'autorisation à utiliser avec les jetons de support OAuth (ce qui signifie que l'application cliente doit simplement présenter ("porter") le jeton). La valeur de l'en-tête est le jeton d'accès que le client a reçu du serveur d'autorisation.
Il est documenté dans cette spécification: https://tools.ietf.org/html/rfc6750#section-2.1
Par exemple:
Où mF_9.B5f-4.1JqM est votre jeton d'accès OAuth.
la source