OpenID Connect:资源所有者密码凭据

时间:2014-11-10 07:30:19

标签: oauth-2.0 openid-connect

OIDC不支持资源所有者密码凭据授予。为什么?我的一些客户端是可以安全维护凭据的安全设备......这些凭据可用于获取access_token。我还可以使用OpenID Connect吗?

3 个答案:

答案 0 :(得分:5)

规范中没有明确规定,但OpenID Connect支持所有OAuth 2.0流程,因为它是OAuth 2.0的扩展。

该规范讨论了涉及浏览器重定向的流程,因为它们更常见,更安全且更不易碎,因为资源所有者凭据仅支持用户名和密码,并且仅在OAuth 2规范中用于向后兼容。在真正的SSO系统中,您希望抽象出在OP / IDP上验证用户的方法。涉及浏览器是一种方法。

但你的里程可能会有所不同。支持特定的OP / AS软件和客户端库。

FWIW:您应该寻求获取id_token而不是access_token。

答案 1 :(得分:1)

  

OpenID Connect执行身份验证以登录最终用户或   确定最终用户已登录.OpenID Connect   返回服务器执行的身份验证的结果   客户端以安全的方式,以便客户可以依赖它。

使用隐式和授权代码授予类型流,如果最终用户未登录,则无法发出ID令牌。在这种情况下,授权服务器可以向依赖方确认最终用户已记录在。 但是,使用资源所有者授权类型流,授权服务器无法确认最终用户是否已登录。即使最终用户未登录,您也可以发出访问令牌。

答案 2 :(得分:-1)

是。我有时也回答同样的问题。根据OpenId Connect规范,建议对OpenId Connect请求使用authorization codeimplicit授权类型。但没有提到不能使用其他授权类型。因此,您可以将任何其他授权类型用于OpenId Connect身份验证请求。来自openid连接组的一些邮件已在此进行了讨论。请从here找到。如果您的OAuth2授权服务器支持它,我猜它可以使用它。据我所知,大多数授权服务器都支持它,例如here