100

我想开发一个封装 OAuth 2.0 功能的 SDK。我检查了 OAuth 1.0 和 2.0 之间的差异,我对授权标头(1.02.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"
4

2 回答 2

218

对于那些正在寻找如何在标头中传递 OAuth2 授权(访问令牌)的示例(而不是使用请求或正文参数)的人,这是如何完成的:

Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42
于 2013-09-11T23:18:27.823 回答
38

您仍然可以将 Authorization 标头与 OAuth 2.0 一起使用。在 Authorization 标头中指定了一个 Bearer 类型,用于与 OAuth 不记名令牌一起使用(这意味着客户端应用程序只需提供(“bear”)令牌)。标头的值是客户端从授权服务器接收到的访问令牌。

它记录在本规范中:https ://www.rfc-editor.org/rfc/rfc6750#section-2.1

例如:

   GET /resource HTTP/1.1
   Host: server.example.com
   Authorization: Bearer mF_9.B5f-4.1JqM

其中mF_9.B5f-4.1JqM是您的 OAuth 访问令牌。

于 2012-06-17T22:31:53.783 回答