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

Authentication 一个用户多个帐户/JWT用于在Istio中进行授权,authentication,microservices,saas,Authentication,Microservices,Saas,目前我正在一个SaaS商店托管平台上工作,我试图找出一个多商店身份验证的概念。 每个用户都可以拥有多个商店,每个商店都有不同的订阅计划,因此访问微服务的权限/角色也不同 由于后端的微服务,我想使用Kubernetes、Istio和JWT来保持auth进程几乎无状态。但是,如果一个用户拥有100家商店呢。由于负载大小问题,我无法在一个JWT中存储每个存储的所有角色。 我不想向用户发送多个(100)JWT,因为我想将它们安全地存储在cookie中,并且在每次请求时都会发送它们。 我不想要像“账户切换

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

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

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

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

谢谢