关于用户信息如何在多个微服务之间传递的问题

来源:12-1 课程总结

LBruce

2019-12-06

如题,我想到的一个解决方案是:
1.在通过网关的认证与授权之后,给前端返回一个经过密钥加密的JWT。
2.前端每次请求都带上这个JWT,然后通过网关转发到每个微服务。
3.每个微服务在启动的时候,会去认证服务器请求公钥,之后过来的用户请求都用这个公钥来验证JWT是否合法。也就是说多个微服务之间传递用户信息,都是通过这个JWT,只要验证JWT合法,就进行后续处理。
4.为了安全性,使用HTTPS传输JWT、JWT有效期设置得短一些、JWT Payload中不存放敏感信息、对于一些比较重要的操作,再次对用户进行认证操作。

不知道老师还知道一些其它方案吗?请老师讲解一下,谢谢老师。

写回答

1回答

张勤一

2019-12-09

同学你好:

    你说的这种方式当然是可行的。但是用户信息一般不会在微服务之间传递,各个微服务都会去用户中心拿到用户信息,再做操作。跟你这里的描述差不多。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

4
3
LBruce
回复
张勤一
好的,谢谢老师。
2019-12-09
共3条回复

Spring Cloud微服务实战 打造企业级优惠券系统

微服务,SpringCloud,SpringBoot面试、毕设、

1203 学习 · 487 问题

查看课程