首页 > 解决方案 > 服务间调用中的权限处理。(微服务)

问题描述

我被分配了一项任务,以找出处理服务间通信授权的最佳实践,我浏览了很多互联网文章,但不幸的是到目前为止还没有运气。

用例 - 如果它是一个服务间调用并且如果它是一个客户端调用它应该按原样工作(即启用权限检查),则要求是禁用权限检查(授权)。

绝望地等待上帝之手帮助我解决这个问题。

谢谢和问候,C.

标签: asp.net-coreasp.net-web-apipermissionsmicroservices

解决方案


我实际上正在处理与您的用例非常相似的事情,其中​​我有从主应用程序客户端到我的前端服务的 API 调用,我有我的后台客户端 API 用于配置和实时操作管理,我有我的内部微服务生态系统通信彼此。

我可以推荐的最好方法是有一个专门的地方来发行令牌(推荐 JWT 令牌)。您可以在您的令牌中构建权限/角色检查机制。然后,您将能够轻松地在您的微服务生态系统中传播这些令牌,并且每个服务都可以验证其内部的令牌和角色以允许访问。

我不喜欢通用服务间权限的想法,因为您基本上说您要么拥有访问权限(无论用户是谁以及他拥有什么级别的访问权限),你在现实生活中的哪个位置即使在下游服务中,您也可能会限制访问某些 API 或特定 API 上的某些信息。


推荐阅读