authorization - 微服务授权我应该使用什么方法?
问题描述
我在工作中讨论过授权,我们对它应该是什么样子有不同的看法。我想问 StackOverflow 社区哪种方法是正确的,因为我找不到自己。
我们正在创建一个新项目。我们将使用:
- kong作为代理
- keycloak 作为身份提供者。
应用程序中的用户将创建资源。我们称之为工作区。工作空间将包含不同的资源,抑郁症会更深。示例网址:
/workspace/123/resource-A/321/resource-C
我的工作中有两种方法:
在 URL 的开头总会有一个工作空间作为前缀,然后 kong 将使用 LUA 脚本询问工作空间微服务登录用户是否可以访问它,然后将请求重定向到微服务。每个微服务也将从工作区开始其 URL,因为我们需要一个工作区 ID 来验证对资源 A 的访问。他们提出这种方法是因为他们希望限制来自 kong 以外的地方对微服务工作空间的请求数量。示例网址:
/workspace/123/microservice-A/workspace/123/microservice-B
URL 不依赖工作空间,kong 将负责代理和与 kong 的通信,微服务将使用代理提供的令牌直接请求工作空间微服务访问。每个微服务决定自己的访问权限。网址示例:
/resource-A
,/resource-B
该系统还将有未连接到工作空间的微服务,但数量会更少。
你知道其他方法吗?我的哪种方法最正确?
感谢帮助
设置4812
解决方案
推荐阅读
- go - GopherJS 和 js/dom:所有的 goroutine 都处于休眠状态 - 死锁
- java - 同时在不同的浏览器中启动不同的 selenium Grid 测试
- postgresql - 如何使用 GPG 验证 PgAdmin 二进制文件的 ASC 签名?
- jupyter-notebook - 评论别人的 Jupyter Notebook
- sqlite - 在 SQLite 子查询上排名
- amazon-web-services - DynamoDB 全球二级索引创建已停止
- botframework - Carousel 上的最大自适应卡片数 - Microsoft Teams
- javascript - 为 Google Action 调用 Intent 后播放音频
- java - 按钮的 JavaFX Hbox 不会填充 BorderPane 中底部容器的空间
- c# - WPF DataGrid中一列中的动态单元格控件