oauth - 用户组/组织的 OAuth 2.0 流程
问题描述
OAuth 2.0 协议提供用户的权限委托,以便第三方应用程序可以代表用户进行操作。在 OAuth 流程上执行此操作的典型方式是请求用户同意批准或拒绝对应用程序的访问(Okta 示例)。这是一个官方规范,描述了它在一般概念中的工作原理。
我正在寻找针对用户组(例如组织)执行相同流程的标准化方法。GitHub 以某种方式为组织做到了这一点,所以看起来组织只是代表一组用户帐户。这个问题有没有标准化的方法?
如果不是,也许有任何推荐的方法,它通常是如何在架构上完成的,或者可以适合 OAuth 2.0/OpenID Connect 协议。
解决方案
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 不是身份验证协议”
-吉姆
推荐阅读
- bash - 没有参数的 Bash for 循环
- sql - 如何为在 bigquery 中的异常之外声明的变量赋值?
- javascript - 如何在 JavaScript 中的 import() 调用后使导出函数成为全局函数
- python - 编写必须满足某些要求的正则表达式,而不考虑特定符号的顺序
- pdf - 打印到点阵打印机时,Courier 新字体模糊/海绵状
- python - 网络抓取解决方法时出现 MaxRetryError - Python,Selenium
- powershell - 仅导入 Excel 字符串中没有标题的数据 - PowerShell
- reactjs - ReactJS:表单向数据库发送错误的日期值
- php - 从字符串中删除特殊字符“|”,如果它包含“,”,则忽略开始|“结束”|
- javascript - console.log 不使用 await 变量记录