首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在微服务和API网关体系结构中验证和授权不同的配置文件

如何在微服务和API网关体系结构中验证和授权不同的配置文件
EN

Stack Overflow用户
提问于 2018-03-01 14:18:59
回答 1查看 539关注 0票数 2

我想要建立一个微服务架构。它应该有13个微服务和3个客户端(2个网络和1个移动)。

在我们的场景中,我们有:

  • 员工:访问特定和共享的服务及其凭据存储在Active中;
  • 管理员:他们是具有完全访问权限的员工。它们具有特定和共享的服务,它们的凭据存储在Active中;
  • 客户:访问特定和共享服务及其凭据存储在标识微服务中。

我们将有一个API网关。

每个请求都由API网关处理,它应该(或调用负责的)检查请求的令牌是否有效,标识它是客户、雇员还是管理员,并检查该用户是否拥有访问请求API/microservice的权限。

我对这个解决方案有一些误解,所以我希望得到一些帮助:

  • API网关的责任是什么?
  • 身份微型服务的责任是什么?
  • 如何定义员工、客户和管理员可以访问哪些API/微服务?
  • 如何识别给定的用户是客户、员工还是管理员?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 16:54:37

API网关的责任是什么?

API网关可以理解为位于所有其他服务之前的一个服务,并允许您向客户端公开这些服务。这样做,它允许所有的交通通过自己,因此,它可以做许多事情,如

  • 安全性
  • 日志记录
  • 路由
  • 版本化
  • 转化

您有一个带有标头的传入请求,您需要将它传递给将实际处理请求的下游服务。API网关几乎可以在两者之间做任何事情,就像上面提到的那样。

身份微型服务的责任是什么?

标识是帮助您唯一标识用户的一组数据。在您的情况下,您拥有Active Directory,其中包含所有员工的身份信息。同样,您可以保存有关客户的信息就是这样的服务之一。身份应该是唯一负责的基本人口统计信息的用户,帮助您识别他。除此之外,这样的服务可能需要提供与使用身份有关的安全性。

标识可以具有角色和服务,在相互通信时,需要传递告知下游服务身份的信息,以及该服务可以验证所传递的身份信息的一些方法。

这就是OAuth发挥作用的地方,如果您添加身份、身份提供程序和授权,就会得到一些称为OIDC或OpenID连接的东西。

这样,您应该能够为您的每个标识定义角色,然后让单个服务决定具有特定角色的特定标识能做什么或不能做什么。

如何识别给定的用户是客户、员工还是管理员?

那么,您可以使用该角色来标识(如果您可以将角色添加到您的标识中),或者让您的身份服务为您回答这个问题。传递userId,让服务告诉您它是基于用户数据来源的哪种用户。除非我有更多的洞察力,否则很难回答这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49051663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档