Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
640 views
in Technique[技术] by (71.8m points)

微服务中使用JWT实现SSO单点登陆token校验的问题?

假如在微服务中使用JWT实现单点登录,一般都会有一个认证中心(也就是登录服务中心),主要是用来验证用户账号密码是否合法,如果合法就生成JWT token值转递给前端。这样的话,前端只要调用接口只要携带这个JWT token就行了。

然后后端需要校验这个token是否合法。如果合法就允许执行接口请求。

现在有个问题就是这个token在哪里校验合适?比如:在网关处校验或者在认证中心去校验。

但是我觉得在上面两处校验都不太合适,如果并发高的话,认证中心或者网关服务压力都比较大。

所以我认为token校验应该在各个资源服务中去,这样可以起到一个负载均衡的效果。比如有资源服务:用户订单服务、用户会员服务

如果我们请求订单服务,那么校验token就在订单服务中校验;如果请求用户会员服务校验token就在会员服务中校验。

这样的好处就是在高并发下,token校验给服务带来的压力就会分散开来了。不好的地方就是每个微服务都需要编写同样的校验token的代码。

同样的,在微服务下做权限校验,也不应该在网关处做用户权限校验,而且交给各个资源服务来做处理。

不知道大家所在的公司微服务项目这个业务是怎么处理的呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

Please log in or register to answer this question.

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
...