我想在资源所有者凭据(密码)授权类型中使用访问令牌获取用户属性。我想使用 OpenID Connect,但规范只讨论基于浏览器的授权。即授权码和隐式。
我试图理解为什么规范不支持它。是因为存在安全风险吗?还是其他原因?
我想在资源所有者凭据(密码)授权类型中使用访问令牌获取用户属性。我想使用 OpenID Connect,但规范只讨论基于浏览器的授权。即授权码和隐式。
我试图理解为什么规范不支持它。是因为存在安全风险吗?还是其他原因?
您的服务可以访问用户的登录标识符和密码的授权类型违背了 OpenID Connect 的目的,您应该能够在其中验证和识别用户,而无需用户信任(或意外向您提供)他们的凭据.
这种授权类型的一些安全问题在RFC 6749 第 4.3 节中表达。它明确指出(强调我的):
授权服务器在启用此授权类型时应特别小心,并且仅在其他流程不可行时才允许它。
由于 OpenID Connect 是 OAuth 2.0 规范之上的专门化,因此 Oauth 2.0 中的所有授权流程都可以完成,包括资源所有者密码授权。不建议这样做,但您可以这样做。您还必须检查以确保您的 OP 支持它。我看过的有,但可能并非所有人都这样。