【发布时间】:2018-09-11 18:07:04
【问题描述】:
我有一个不知道如何解决的设计问题。
假设我的主应用程序包含 6 个模块:
- 客户
- 网关
- 身份验证服务
- 论坛
- 画廊
- 消息
客户端应该只与网关服务通信。
我是否应该让我的网关进行用户身份验证(理想情况下会产生 JWT),而其他 3 个生产服务(论坛、图库、消息)只是验证令牌并检索权限和角色他们自己管理 为给定的用户?
Click here 用于原始 draw.io 图形,如果您愿意的话。
我不想使用任何第 3 方身份验证服务;我只希望我的身份验证服务(几乎完成)注册用户并让他们登录。还是我也应该管理该服务中的权限和角色?
几个月来,我一直试图围绕这个问题思考,但我根本找不到合适的结构,因此我可以让用户注册、登录/注销并与各种生产服务进行通信。我目前在后端使用 Java,但微服务的好处是,我不必为它们都使用一种编程语言。
欢迎任何帮助!
P.s.:我读过 Microservice Authentication strategy 和 Zuul - Api Gateway Authentication,但似乎都不适用于我的情况。
【问题讨论】:
-
@sschrass 这不是很有帮助...如果我没有考虑过至少 两次?
-
对您的用户来说可能是这样。
标签: jwt microservices