适用于OAuth提供程序的WWW-Authenticate标头

Jon*_*der 10 oauth response-headers

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

WWW-Authenticate: OAuth realm="http://server.example.com/"
Run Code Online (Sandbox Code Playgroud)

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

WWW-Authenticate: OAuth realm="http://server.example.com/", access token invalid
Run Code Online (Sandbox Code Playgroud)

或者这与响应标题的目的相反?

jcl*_*jcl 23

对于任何只是绊脚石的人都要注意:OAuth 2.0持票人令牌规范将"错误","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"
Run Code Online (Sandbox Code Playgroud)


Gia*_*ian 7

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


Tom*_*rdt 6

这样做符合规范,如果不是,它可能会是这样的:

realm="http://server.example.com", oauth_error="access token invalid"
Run Code Online (Sandbox Code Playgroud)

我建议使用响应主体来做这样的事情,或者可能是X-OAuth-Error标题.