Я хочу разработать SDK, включающий функции OAuth 2.0. Я проверил различия между OAuth 1.0 и 2.0, и у меня есть некоторая путаница с заголовком авторизации ( 1.0 и 2.0 ), параметры протокола OAuth 1.0 могут быть переданы с использованием заголовка HTTP «Авторизация», но я не могу найти это описано в текущем Проект OAuth 2.0.
Поддерживает ли OAuth 2.0 заголовки авторизации?
В OAuth 1.0 ваш заголовок будет выглядеть так:
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"
Ответы:
Для тех, кто ищет пример того, как передать авторизацию OAuth2 (токен доступа) в заголовке (в отличие от использования параметра запроса или тела), вот как это делается:
источник
curl -H "Authorization: Bearer $ACCESS_TOKEN" URI
Authorization: Bearer
с0b...42
данными или заголовокAuthorization:
сBearer 0b...42
данными или что? Благодарность! (Кстати, я Oauth2, если это имеет значение.)Authorization
- это имя заголовка, двоеточие отделяет имя от значения во всех заголовках согласно разделу 4.2 RFC2616 .Вы по-прежнему можете использовать заголовок авторизации с OAuth 2.0. В заголовке авторизации указан тип носителя для использования с токенами носителя OAuth (что означает, что клиентское приложение просто должно представить («перенести») маркер). Значение заголовка - это токен доступа, полученный клиентом от сервера авторизации.
Это задокументировано в этой спецификации: https://tools.ietf.org/html/rfc6750#section-2.1
Например:
Где mF_9.B5f-4.1JqM - ваш токен доступа OAuth.
источник