TL:DR;
我的 VPC 中有一个受信任的应用程序,我希望允许:
POST /oauth/authorize? user_id=U_123, client_id=xyz, client_secret=abdfd
允许无限制地访问任何用户的数据,前提是客户端机密是机密。这有优先权吗?
我一直在实现面向服务的体系结构,我对我们的应用程序身份验证和授权不太有信心的部分之一。
我们有一个主 API 的内部应用程序,我们已将其列入受信任 OAuth 的白名单,仅使用客户端凭据(id、secret)和用户 id:
POST /oauth/authorize? user_id=U_123, client_id=xyz, client_secret=abdfd
从本质上讲,这使得可以为给定用户生成 oauth 令牌,而无需密码,也不显示授权页面。
通过在组合中包含用户标识符,这允许用户特定的令牌,并为我们提供使单个用户的令牌失效的选项。 通过这种方式,我们不必使整个应用程序失效,因此可能不会影响安全级别。
创建受信任的客户端 OAuth 2.0 令牌是否有任何优先级?
您描述的用例符合此处 OAuth 2.0 规范中标准化的客户端凭据授予:https://www.rfc-editor.org/rfc/rfc6749#section-4.4
用户标识符可以有效地作为scope
值传入,该值允许访问该用户(资源所有者)的资源。这就是规范中所说的"先前与授权服务器安排的另一个资源所有者"控制下的资源。