标头中的 OAuth2.0 访问令牌
Posted
技术标签:
【中文标题】标头中的 OAuth2.0 访问令牌【英文标题】:OAuth2.0 access token in header 【发布时间】:2016-11-23 21:16:16 【问题描述】:我是一名学生,从事 php laravel 项目以使用 OAuth2.0 保护 API。 当我将访问令牌放在我的 URL 中时,我正在使用 Postman 测试我的 API:
URL/?access_token=... 一切正常。
现在想用Header来传递access_token,我试过了:
Key: access_token with Value:(token)
Key: Authorization with Value:(token)
Key:带值的授权:(Bearer + the token)
这些似乎都不起作用。有谁知道我做错了什么或我错过了什么?当我搜索正确答案时,我发现 Key: Authorization with Value:(Bearer + the token) 需要正常工作。
提前谢谢!
【问题讨论】:
【参考方案1】:我在请求标头中使用访问令牌:
密钥:授权
值:承载 AccessToken
还取决于您要返回的令牌类型。 获取访问令牌时查找 token_type 键。 在我的情况下,它是“Bearer”,所以将它与访问令牌一起使用。
【讨论】:
感谢您的回复!当我这样尝试时,我收到错误:“消息”:“请求缺少必需的参数,包含无效的参数值,包含不止一次的参数,或者格式错误。检查“访问令牌”范围。”我是否需要在代码中加入某些东西才能接受标头? 我发现了问题,不得不补充: RewriteCond %HTTP:Authorization 。 RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization] in .access【参考方案2】:其实很简单。
您创建一个授权密钥,该密钥的值是令牌类型空间和实际令牌。如果你有不记名,那么它是“不记名令牌值”。我在我的一篇文章中详细介绍了这一点,我也在使用 Postman。
这里是文章:https://eidand.com/2015/03/28/authorization-system-with-owin-web-api-json-web-tokens/
转到第 2 节,这是处理资源服务器的一节。您将在那里看到 Postman 屏幕截图,其中包含有关如何设置您需要的所有内容的示例。
【讨论】:
感谢您的回复!当我这样尝试时,我收到错误消息:“消息”:“请求缺少必需的参数,包含无效的参数值,包含不止一次的参数,或者格式错误。检查“访问令牌”范围。”我是否需要在代码中加入某些东西才能接受标头? 我发现了问题,不得不补充: RewriteCond %HTTP:Authorization 。 RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization] in .access以上是关于标头中的 OAuth2.0 访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
Python 中的链接 API 错误 - “Empty oauth2 access token”即使给出了访问令牌
OAuth2.0 令牌奇怪行为(Invalid Credentials 401)