我正在尝试从OAuth 2规范实现资源所有者和密码凭据流.我无法理解通过token_type
有效响应发回的值.在规范中,所有示例都显示"token_type":"example"
但是应该是
token_type REQUIRED.如第7.1节所述发布的令牌类型 .值不区分大小写.
有人可以向我解释一下吗?
小智 156
token_type
是访问令牌生成对授权服务器的调用中的参数,它实质上表示如何为资源访问调用生成和呈现access_token.您在访问令牌生成调用中向授权服务器提供token_type.
如果您给出Bearer
(大多数实施时默认),access_token
则会生成一个并发送给您.承载可以简单地理解为"允许访问此令牌的持有者".一个有效的令牌,没有问题.另一方面,如果您选择Mac
和sign_type
(默认情况下hmac-sha-1
为大多数实现),将生成访问令牌并将其作为属性保存在密钥管理器中,并将加密的密钥作为秘密发送回access_token
是的,您可以使用自己的实现token_type
,但这可能没有多大意义,因为开发人员需要遵循您的流程而不是OAuth的标准实现.
小智 32
任何人都可以将"token_type"定义为OAuth 2.0扩展,但目前"持有者"令牌类型是最常见的.
https://tools.ietf.org/html/rfc6750
基本上这就是Facebook正在使用的.尽管如此,它们的实现有点落后于最新规范.
如果您想比Facebook更安全(或者像具有"签名"的OAuth 1.0一样安全),您可以使用"mac"令牌类型.
然而,由于mac规范仍在快速变化,因此将很难实现.
https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05
小智 13
承载令牌(Bearer Token)
一种安全令牌,其属性是拥有该令牌的任何一方("持票人")可以以任何其他拥有该令牌的方式使用该令牌.使用不记名令牌不需要持票人来证明拥有加密密钥材料(占有证明).
身份验证服务器为您创建了承载令牌或刷新令牌.当用户对您的应用程序(客户端)进行身份验证时,身份验证服务器会为您的承载令牌(刷新令牌)生成,然后您可以使用该令牌来获取访问令牌.
承载令牌通常是由认证服务器创建的某种神秘值,它不是随机的,它是根据用户授予您访问权限和您的应用程序访问的客户端创建的.
归档时间: |
|
查看次数: |
193587 次 |
最近记录: |