我研究了各种OAuth2 java库(spring-security-oauth、cxf、scribe、google-oauth-java-client),但没有找到任何支持Mac令牌类型的东西,如下所示:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-http-mac-01
默认情况下,它们都支持不记名token类型,不支持其他类型。有没有什么特殊的原因导致这种令牌类型根本不受支持?
发布于 2014-03-14 19:50:48
大多数用于OAuth 2.0的Java库支持Bearer令牌类型的原因是Bearer令牌配置文件提供了一种简化的身份验证方案。任何拥有bearer令牌的用户都可以使用它来访问相关的资源(无需证明拥有密钥)。OAuth 2.0授权框架:Bearer令牌使用规范描述了如何在HTTP requests中使用bearer令牌来访问OAuth 2.0受保护的资源。
Bearer访问令牌的响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"mF_9.B5f-4.1JqM",
"token_type":"Bearer",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
}HTTP令牌配置文件定义了HTTP MAC访问身份验证方案,提供了一种生成经过身份验证的MAC请求的方法,其中包含请求的部分加密验证,包括HTTP方法、请求URI和主机。每个访问令牌类型定义都指定了与access_token响应参数一起发送到客户端的附加属性(mac_key、mac_algorithm)。
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{
"access_token":"SlAV32hkKG",
"token_type":"mac",
"expires_in":3600,
"refresh_token":"8xLOxBtZp8",
"mac_key":"adijq39jdlaska9asud",
"mac_algorithm":"hmac-sha-256"
}access_token或MAC密钥标识符是标识用于计算请求MAC的MAC密钥的字符串。该字符串通常对客户端是不透明的。服务器通常为每组MAC凭据分配特定的作用域和生存期。标识符可以表示用于检索授权信息(例如,从数据库)的唯一值,或者以可验证的方式自包含授权信息(即,由一些数据和签名组成的串)。
是用于带有MAC令牌配置文件的OAuth 2.0的Java库。
来源:OAuth 2.0 Bearer Token Profile Vs MAC Token Profile
发布于 2014-03-14 17:27:20
我不是这个领域的专家,但我的印象似乎是PicketLink同时支持MAC和承载token types。
我不太确定这是你想要的。如果你有任何疑问,你可以使用contact them here。
https://stackoverflow.com/questions/11460608
复制相似问题