【发布时间】:2016-05-10 00:41:17
【问题描述】:
我制作了一个简单的应用程序,它使用带有 oauth/jwt 提供程序的 spring 安全性。 我通过自定义 JwtAccessTokenConverter 在 jwt 令牌中添加了额外的信息,它运行良好。
我的问题是如何在我的 Rest Controller 中获取这些额外信息。
这是我的测试:
@RequestMapping(value = "/test", produces = { "application/json" },method = RequestMethod.GET)
public String testMethod(OAuth2Authentication authentication,
OAuth2AccessToken token,
Principal user){
.....
Object a=token.getAdditionalInformation();
Object b=token.getValue();
...
}
结果是:
- OAuth2Authentication:注入良好,但不包含其他信息或 accesstoken 对象(它仅包含原始 jwt 令牌字符串)。
- User 是对 OAuth2Authentication 的引用
- OAuth2AccessToken:是没有任何信息的aop代理,事实上对象A和B都是空的。
一些额外的信息:
- 我通过调试检查了 ResourceService 使用我的 JwtAccessTokenConverter 并从输入中的访问令牌字符串中提取附加信息列表。
【问题讨论】:
标签: spring oauth spring-security jwt spring-security-oauth2