【发布时间】:2014-11-12 01:10:32
【问题描述】:
我想在资源所有者凭据(密码)授权类型中获取具有访问令牌的用户属性。我想使用 OpenID Connect,但规范只讨论基于浏览器的授权。即授权码和隐式。
我试图理解为什么规范不支持它。是因为存在安全风险吗?还是其他原因?
【问题讨论】:
标签: openid-connect
我想在资源所有者凭据(密码)授权类型中获取具有访问令牌的用户属性。我想使用 OpenID Connect,但规范只讨论基于浏览器的授权。即授权码和隐式。
我试图理解为什么规范不支持它。是因为存在安全风险吗?还是其他原因?
【问题讨论】:
标签: openid-connect
您的服务可以访问用户的登录标识符和密码的授权类型违背了 OpenID Connect 的目的,在这种授权类型中,您应该能够验证和识别用户而无需用户信任(或意外向您提供)他们的凭据。
这种授权类型的一些安全问题在RFC 6749 section 4.3 中表达。它明确指出(强调我的):
授权服务器应特别注意以下情况 启用此授权类型,并且仅在其他流未启用时才允许 可行的。
相关:Does OpenID Connect support the Resource Owner Password Credentials grant?
【讨论】:
由于 OpenID Connect 是 OAuth 2.0 规范之上的专门化,因此可以完成 Oauth 2.0 中的所有授权流程,包括资源所有者密码授权。不建议这样做,但您可以这样做。您还必须检查以确保您的 OP 支持它。我看过的有,但可能不是所有的都有。
【讨论】: