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 les en-têtes d'autorisation ( 1. et 2. ), OAuthLes paramètres de protocole _ _ 1.0 peuvent être transmis à l'aide de l'en-tête HTTP "Authorization", mais je ne parviens pas à trouver cela décrit dans le brouillon actuel OAuth 2.0.
Est-ce que OAuth 2.0 prend 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"
Pour ceux qui recherchent un exemple sur la manière de passer l'autorisation OAuth2 (jeton d'accès) dans l'en-tête (par opposition à l'utilisation d'un paramètre request ou body), voici comment procéder:
Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
Vous pouvez toujours utiliser l'en-tête Authorization avec OAuth 2.0. Un type de porteur est spécifié dans l'en-tête d'autorisation à utiliser avec les jetons porteur OAuth (signifiant que l'application client doit simplement présenter ("supporter" le jeton)). La valeur de l'en-tête est le jeton d'accès que le client a reçu du serveur d'autorisations.
C'est documenté dans cette spécification: https://tools.ietf.org/html/rfc6750#section-2.1
Par exemple.:
GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM
Où mF_9.B5f-4.1JqM est votre jeton d'accès OAuth.