
目前继承了 JwtAccessTokenConverter 类来实现添加额外内容,但是貌似只能硬编码
public class CustomJwtTokenConverter extends JwtAccessTokenConverter { @Override public OAuth2AccessToken enhance(OAuth2AccessToken oAuth2AccessToken, OAuth2Authentication oAuth2Authentication) { Map<String, Object> additiOnal= new HashMap<>(16); additional.put("key", "value"); ((DefaultOAuth2AccessToken) oAuth2AccessToken).setAdditionalInformation(additional); return super.enhance(oAuth2AccessToken, oAuth2Authentication); } } 我想实现的就是在生成 jwt token 时将当前请求的用户的 userid 放入 token 中 该如何实现呢?
1 zhenjiachen 2020-08-07 13:10:39 +08:00 继承 DefaultAccessTokenConverter 这个类,然后 set 到 AccessTokenConverter 中就好了 |
2 monkeyk 2020-08-07 14:01:01 +08:00 看这开源 https://gitee.com/mkk/MyOIDC, 里面有对应的配置与实现 |
3 Blueming OP @zhenjiachen 如何把用户的属性传进去呢 |
4 seliote 2020-08-07 20:29:43 +08:00 项目都没了 |
5 viakiba 2020-08-08 10:37:00 +08:00 OAuth2Authentication 这个对象有个 getOAuth2Request() 方法可以获取客户端应用程序的详细信息。你可以看一下这里是怎么存储内容的。比如客户端请求会带一个唯一 id 或者账号啥的,这里可以取到。通过这个唯一 id 就可以取到数据库或者缓存的内容了。 |