首页 > 解决方案 > 用户组/组织的 OAuth 2.0 流程

问题描述

OAuth 2.0 协议提供用户的权限委托,以便第三方应用程序可以代表用户进行操作。在 OAuth 流程上执行此操作的典型方式是请求用户同意批准或拒绝对应用程序的访问(Okta 示例)。这是一个官方规范,描述了它在一般概念中的工作原理。

我正在寻找针对用户组(例如组织)执行相同流程的标准化方法。GitHub 以某种方式为组织做到了这一点,所以看起来组织只是代表一组用户帐户。这个问题有没有标准化的方法?

如果不是,也许有任何推荐的方法,它通常是如何在架构上完成的,或者可以适合 OAuth 2.0/OpenID Connect 协议。

在此处输入图像描述

标签: oauthoauth-2.0authorizationopenid-connectgithub-oauth

解决方案


OAuth 2.0/OpenID Connect 协议不包括如何执行访问控制。

您可以在 OAuth 2.0/OpenID Connect 协议中传递OAuth 范围或使用 OIDC用户信息端点数据来允许资源服务器确定访问控制。

该领域的许多商业产品允许使用 LDAP 作为身份验证的后端,甚至可以将 LDAP 组转换为范围。

我会假设,但我不知道,GtHub 为组织和/或用户存储带有链接(如组)的数据。我知道GitHub使用 OAuth Scopes 公开了这一点。

哦,OAuth 规范位于:https ://oauth.net/2/ 但是如果您需要用户身份验证,那么您需要使用构建在 OAuth 2.0 之上的OpenID Connect 。请记住“ OAuth 2.0 不是身份验证协议

-吉姆


推荐阅读