Bla*_*Log 4 spring spring-security oauth-2.0 spring-security-oauth2
我有多个移动客户端,它们都使用密码授予流程进行身份验证。为此,我只想使用一个非常持久的刷新令牌和多个短期访问令牌。我一直在尝试在春季使用 Password Grant 生成多个访问令牌,但是,每当我刷新访问令牌时,旧的访问令牌就会停止工作。我检查了数据库,对于该特定身份验证,oauth_access_token 表中始终只有一条记录。Spring Oauth2 不是应该为一个刷新令牌生成多个访问令牌吗?感谢您的帮助。
它受 OAuth2 规范支持,请参阅RFC 6749:
1.5. 刷新令牌
刷新令牌是用于获取访问令牌的凭据。刷新令牌由授权服务器颁发给客户端,用于在当前访问令牌失效或过期时获取新的访问令牌,或获取具有相同或更窄范围的附加访问令牌(访问令牌可能具有较短的生命周期和比资源所有者授权的权限少)。
但是 Spring Security OAuth2 不支持,见DefaultTokenServices#refreshAccessToken:
Run Code Online (Sandbox Code Playgroud)// clear out any access tokens already associated with the refresh // token. tokenStore.removeAccessTokenUsingRefreshToken(refreshToken);
和TokenStore#removeAccessTokenUsingRefreshToken:
使用刷新令牌删除访问令牌。此功能是必需的,因此不能使用刷新令牌来创建无限数量的访问令牌。
一种解决方法是实现自定义TokenStore.
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |