Oauth 2.0 密钥斗篷,在客户端之间共享资源

Oauth 2.0 密钥斗篷,在客户端之间共享资源,oauth-2.0,authorization,microservices,keycloak,openid-connect,Oauth 2.0,Authorization,Microservices,Keycloak,Openid Connect,我们正在开发一个基于微服务架构的应用程序,其中用户可以是组织的成员,在每个组织中,他们可能有基于资源的访问限制。举个例子,招聘人员是平台上多个组织的成员;在组织A中,他们可以看到所有职位公告和面试官的列表,而在组织B中,他们只能看到直接允许他们看到的职位公告 从结构上看,这类似于: 所有这些似乎都很容易用KeyClope实现,我们创建了机密客户机(每个微服务一个客户机),并对其启用资源管理。然而,在相当多的情况下,不同的微服务(即KeyClope客户端)需要验证用户对同一资源的访问范围。例如,

我们正在开发一个基于微服务架构的应用程序,其中用户可以是组织的成员,在每个组织中,他们可能有基于资源的访问限制。举个例子,招聘人员是平台上多个组织的成员;在组织A中,他们可以看到所有职位公告和面试官的列表,而在组织B中,他们只能看到直接允许他们看到的职位公告

从结构上看,这类似于:

所有这些似乎都很容易用KeyClope实现,我们创建了机密客户机(每个微服务一个客户机),并对其启用资源管理。然而,在相当多的情况下,不同的微服务(即KeyClope客户端)需要验证用户对同一资源的访问范围。例如,我们有两个微型服务,一个用于发布和管理工作通知,另一个用于管理应用程序和面试,所以是工作经理和应用程序经理。现在,当提交新的应用程序或面试官试图访问应用程序时,应用程序经理必须确保用户有权访问job manager KeyClope客户端中配置的职务公告(资源)。我认为,这不是KeyClope所支持的

就规模而言,我们谈论的是X00k用户,是组织用户连接的4-5倍,以及数以千万计的资源。因此,为了最大限度地减少我们在KeyClope中创建的对象数量,我们决定使用存储JSON结构的资源上的属性


那么,一个微服务如何通过另一个微服务验证用户对资源管理器的访问?

您找到问题的答案了吗?