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

发布于 2022-09-12 03:32:43 字数 566 浏览 17 评论 0

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

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

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

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

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文