OpenID Connect是否支持资源所有者密码凭据授予?
-
21-12-2019 - |
题
我之前一直在使用OAuth资源所有者凭据流进行授权。
但是,我现在想考虑使用openid connect进行身份验证和授权,并且想知道openid connect中是否支持资源所有者凭据流。
解决方案
是,OpenID Connect支持所有OAuth 2.0授予类型,包括资源所有者密码凭据授予和客户端凭据授予。
如我们所知,授权代码授权和隐式授权是典型的3腿流,包括客户端之间的交互,授权服务器和用户之间的交互。虽然资源所有者密码凭据授予和客户凭据授权是2腿,但是客户端使用预授权的范围,以便不需要与用户的交互,从而删除在典型流中执行一个腿的需要。这里是一个参考:配置OpenID连接提供程序以启用2脚OAuth请求
其他提示
答案是肯定的。它在规范中不明确,但OpenID Connect支持所有OAuth 2.0流,因为它是OAuth 2.0的扩展名。
规范谈论涉及浏览器重定向的流程,因为它们更常见,更安全,更易于脆弱,因为资源所有者凭据只支持用户名和密码,并且仅在OAuth 2规范中以进行向后兼容。
在真正的SSO系统中,您可以摘要远离在OP / IDP处验证用户的方法。涉及浏览器是一种方法。在资源所有者密码凭据流中,客户端“看到”资源所有者的用户名/密码与其他流程不同,它会导致Federated SSO协议的主要目的,如OpenID Connect,其中认证机制和凭据应该独立于客户端/应用程序。因此,您不会在OpenID Connect中看到ROPC的许多使用,在企业内使用情况中可能发生异常。
但你的里程可能会有所不同。支持特定的OP /作为软件和客户端库。
不隶属于 StackOverflow