从品牌网站建设到网络营销策划,从策略到执行的一站式服务
本篇内容主要讲解“spring cloud oauth3整合JWT后获取用户信息不全怎么办”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring cloud oauth3整合JWT后获取用户信息不全怎么办”吧!
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的洛宁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
oauth3整合JWT完成后,发现获取当前认证用户信息(Principal)时只获取到用户名称,没有其他的信息
看了一下oauth3源码,通过分析oauth3加载TokenStore找到解决方案。
oauth3会在DefaultUserAuthenticationConverter下提取认证用户,并给Principal进行赋值
因为userDetailsService没有被注入进去,所以获取的Principal的值只有“admin”。问题是什么时候注入userDetailsService
userDetailsService是当前类的属性,这就好办了。
接着看这个类DefaultAccessTokenConverter,这个类定义了DefaultUserAuthenticationConverter,并调用了DefaultUserAuthenticationConverter.extractAuthentication的方法
看到这里我们发现,找到这个类DefaultAccessTokenConverter的注入就可以了。
接下来是这个类JwtAccessTokenConverter,这里定义了DefaultAccessTokenConverter,调用了DefaultAccessTokenConverter.extractAuthentication的方法,是不是感觉和上一个套路一样。
JwtTokenStore大家应该很熟悉,就是定义了JwtAccessTokenConverter,并调用JwtAccessTokenConverter.extractAuthentication但是没有具体实现,可以通过构造方法进行注入。
看到这里就找到了userDetailsService应该怎么注入进去了。另外,大家也可以关注一下这个类的另一个方法
其实是这个方法调用的上个方法,这个方法被调用在在DefaultTokenServices这个类里
打开这个类DefaultTokenServices看看,你就会发现这个类定义了token的一些基本功能
最后看一下效果
到此,相信大家对“spring cloud oauth3整合JWT后获取用户信息不全怎么办”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图