Quiero desarrollar un SDK que encapsule las funciones de OAuth 2.0. He comprobado las diferencias entre OAuth 1.0 y 2.0, y tengo cierta confusión en el encabezado de autorización ( 1.0 y 2.0 ), los parámetros del protocolo OAuth 1.0 se pueden transmitir utilizando el encabezado HTTP "Autorización", pero no puedo encontrar esto descrito en la actual Borrador de OAuth 2.0.
¿OAuth 2.0 admite encabezados de autorización?
En OAuth 1.0, su encabezado se vería así:
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"
Respuestas:
Para aquellos que buscan un ejemplo de cómo pasar la autorización OAuth2 (token de acceso) en el encabezado (en lugar de usar una solicitud o un parámetro de cuerpo), así es como se hace:
fuente
curl -H "Authorization: Bearer $ACCESS_TOKEN" URI
Authorization: Bearer
con0b...42
como datos, o es el encabezadoAuthorization:
conBearer 0b...42
como los datos, o qué? ¡Gracias! (Por cierto, soy Oauth2, si importa.)Authorization
es el nombre del encabezado, los dos puntos separan el nombre del valor en todos los encabezados según la sección 4.2 de RFC2616 .Aún puede usar el encabezado de autorización con OAuth 2.0. Hay un tipo de portador especificado en el encabezado de Autorización para usar con tokens de portador de OAuth (lo que significa que la aplicación cliente simplemente tiene que presentar ("llevar") el token). El valor del encabezado es el token de acceso que el cliente recibió del servidor de autorización.
Está documentado en esta especificación: https://tools.ietf.org/html/rfc6750#section-2.1
P.ej:
Donde mF_9.B5f-4.1JqM es su token de acceso OAuth.
fuente