我想构建一个微服务架构。它应该有 13 个微服务和 3 个客户端(2 个 Web 和 1 个移动)。
在我们的场景中,我们有:
- 员工:对特定和共享服务的访问权及其凭据存储在 Active Directory 中;
- 管理员:他们是具有完全访问权限的员工。他们拥有特定的共享服务,并且他们的凭据存储在 Active Directory 中;
- 客户:对特定和共享服务的访问权及其凭据存储在身份微服务中。
我们将拥有一个 API 网关。
每个请求都由 API Gateway 处理,API Gateway 应该(或调用负责人)检查请求的令牌是否有效,识别它是客户、员工还是管理员,并检查该用户是否有权访问请求 API/微服务。
我对这个解决方案有一些误解,所以我很感激一些帮助:
- API 网关的职责是什么?
- 身份微服务职责是什么?
- 如何管理定义员工、客户和管理员可以访问或不可以访问哪些 API/微服务?
- 如何识别给定用户是客户、员工还是管理员?