一个用户多个帐户/JWT 在 Istio 中进行授权

问题描述

目前我正在开发一个 SaaS 商店托管平台,我试图找出对多个商店进行身份验证的概念。 每个用户可以拥有多个商店,每个商店都有不同的订阅计划,因此访问微服务的权限/角色也不同。

由于后端的微服务,我想使用 Kubernetes、Istio 和 JWT 来保持身份验证过程几乎无状态。但是,例如,如果用户拥有 100 家商店怎么办。由于负载大小问题,我无法将每个商店的所有角色存储在一个 JWT 中。 我不想向用户发送多个 (100) JWT,因为我想将它们安全地存储在 cookie 中,并且它们将在每个请求中发送。 我不想要“帐户切换”之类的功能,因为用户应该可以同时访问所有商店。

我的想法是简单地对用户进行身份验证,并另外将身份验证服务编码为网关,该网关查找请求的存储“/api/store/:id”,然后使用适当的角色签署 jwt,以便 Istio 服务网格可以授权它内部。 我想从微服务源代码中消除授权开销。使用这种方法,我可能会增加请求的延迟并进行数据库查找。

我想听听您对这个想法的建议,或者您想出比我更好的解决方案。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)