SpringSecurity Oauth2 如何动态自定义 jwt 生成的内容 - V2EX
Blueming
V2EX    Java

SpringSecurity Oauth2 如何动态自定义 jwt 生成的内容

  •  
  •   Blueming Aug 7, 2020 2902 views
    This topic created in 2104 days ago, the information mentioned may be changed or developed.

    目前继承了 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 中 该如何实现呢?

    6 replies    2020-08-08 10:38:04 +08:00
    zhenjiachen
        1
    zhenjiachen  
       Aug 7, 2020
    继承 DefaultAccessTokenConverter 这个类,然后 set 到 AccessTokenConverter 中就好了
    monkeyk
        2
    monkeyk  
       Aug 7, 2020
    看这开源 https://gitee.com/mkk/MyOIDC, 里面有对应的配置与实现
    Blueming
        3
    Blueming  
    OP
       Aug 7, 2020
    @zhenjiachen 如何把用户的属性传进去呢
    seliote
        4
    seliote  
       Aug 7, 2020
    项目都没了
    viakiba
        5
    viakiba  
       Aug 8, 2020
    OAuth2Authentication 这个对象有个 getOAuth2Request() 方法可以获取客户端应用程序的详细信息。你可以看一下这里是怎么存储内容的。比如客户端请求会带一个唯一 id 或者账号啥的,这里可以取到。通过这个唯一 id 就可以取到数据库或者缓存的内容了。
    About     Help     Advertise     Blog     API     FAQ     Solana     2610 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 122ms UTC 16:05 PVG 00:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86