11

OAuth 1.0 规范中,建议使用以下 WWW-Authenticate 标头进行响应:

WWW-Authenticate: OAuth realm="http://server.example.com/"

是否适合在此标头中添加任何其他信息数据?如果对受保护资源的请求失败,包含一些关于原因的信息是否合理?如:

WWW-Authenticate: OAuth realm="http://server.example.com/", access token invalid

还是这与响应标头的目的相反?

4

3 回答 3

31

任何偶然发现此问题的人请注意:OAuth 2.0 不记名令牌规范将“error”、“error_description”和“error_uri”属性添加到“WWW-Authenticate”标头以报告其他错误信息,并指定何时应该和应该不被使用。

例如:

 HTTP/1.1 401 Unauthorized
 WWW-Authenticate: Bearer realm="example",
                   error="invalid_token",
                   error_description="The access token expired"
于 2015-11-24T20:11:11.737 回答
9

对我来说听起来有点可疑。标WWW-Authenticate头由RFC指定,这似乎禁止您给出的示例。OAuth 规范说您可以包含WWW-AuthenticateRFC 定义的其他字段,而不是您可以在其末尾添加任意字符串。我会避免它,除非有一个定义的领域,你可以扭曲你的目的。

于 2011-12-01T13:03:41.927 回答
8

这样做是违反规范的,如果不是这样,它可能是这样的:

realm="http://server.example.com", oauth_error="access token invalid"

我建议将响应正文用于此类事情,或者可能是X-OAuth-Error标题。

于 2011-12-01T13:03:39.580 回答