温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBootSecurity中什么是OAuth2.0令牌中继

发布时间:2021-09-28 09:54:19 来源:亿速云 阅读:112 作者:柒染 栏目:大数据

SpringBootSecurity中什么是OAuth2.0令牌中继,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

增加Eureka

前面介绍的项目都是授权服务和资源服务单独两个,这样在资源服务中的 check_token 地址都是写死的地址 :

SpringBootSecurity中什么是OAuth2.0令牌中继

下面我们把eureka加上,这样就可以直接用服务名了。eureka服务的搭建不再讨论,在服务中加eureka只需要改两个地方,就是加依赖和修改配置:

SpringBootSecurity中什么是OAuth2.0令牌中继

增加配置如下:

SpringBootSecurity中什么是OAuth2.0令牌中继

然后就可以把资源服务中的固定ip改为服务名:

SpringBootSecurity中什么是OAuth2.0令牌中继

增加令牌中继

从授权服务获取令牌以后,直接访问一个资源服务是没有问题的,但是如果资源服务又去调用其它资源服务,就会产生一个问题,就是令牌无法自动往下传递。要实现令牌中继我们就需要写一个拦截器,将token放到请求的header中。

首先在服务中增加feign组件:

SpringBootSecurity中什么是OAuth2.0令牌中继

增加注解 @EnableFeignClients :

SpringBootSecurity中什么是OAuth2.0令牌中继

注意上面的依赖和注解调用方和被调用方都要增加。然后在被调用方写一个接口:

SpringBootSecurity中什么是OAuth2.0令牌中继

在调用方使用feign调用:

SpringBootSecurity中什么是OAuth2.0令牌中继

然后在调用方写一个测试接口:

SpringBootSecurity中什么是OAuth2.0令牌中继

现在直接申请令牌,然后访问调用方测试接口,会出现如下401错误:

SpringBootSecurity中什么是OAuth2.0令牌中继

下面在调用方增加一个拦截器,在header中增加令牌:

SpringBootSecurity中什么是OAuth2.0令牌中继

测试

下面直接申请令牌,访问调用方的测试接口,可以看到令牌中继的结果:

SpringBootSecurity中什么是OAuth2.0令牌中继

看完上述内容,你们掌握SpringBootSecurity中什么是OAuth2.0令牌中继的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI