Authentication OAuth 2.0中资源所有者密码凭据授予类型的用途是什么?

Authentication OAuth 2.0中资源所有者密码凭据授予类型的用途是什么?,authentication,oauth-2.0,authorization,Authentication,Oauth 2.0,Authorization,根据我的回答 好的,OAuth2.0是一个授权协议,但是当您使用ROPC(资源所有者密码凭证)授权类型时,按照我的理解,您的意思是认证和授权,不是吗 OpenID在ROPC中仍然适用吗?还有一点与OAuth 2.0 ROPC和OpenID混淆,资源所有者密码凭据授予类型确实对用户进行身份验证,但它是一种非典型的OAuth 2.0授予类型,仅用于迁移目的,如规范所述: 资源所有者密码凭据授予类型通常用于 遗留或迁移原因。它降低了存储的总体风险 由客户端提供用户名和密码,但不排除这种需要 向客户端公

根据我的回答

好的,OAuth2.0是一个授权协议,但是当您使用ROPC(资源所有者密码凭证)授权类型时,按照我的理解,您的意思是认证和授权,不是吗


OpenID在ROPC中仍然适用吗?还有一点与OAuth 2.0 ROPC和OpenID混淆,资源所有者密码凭据授予类型确实对用户进行身份验证,但它是一种非典型的OAuth 2.0授予类型,仅用于迁移目的,如规范所述:

资源所有者密码凭据授予类型通常用于
遗留或迁移原因。它降低了存储的总体风险
由客户端提供用户名和密码,但不排除这种需要 向客户端公开具有高度特权的凭据

这种赠款类型比其他赠款类型具有更高的风险 因为它维护了该协议寻求的密码反模式 避免


OpenID Connect并不禁止授予资源所有者密码凭据(即使OpenID Connect规范在OAuth 2.0之外没有明确定义),但它违背了OpenID Connect所期望的联邦SSO协议的主要目的。这是因为它将RPs锁定到一个单一的身份验证方法中,从而将用户凭证公开给RP.wrt。不同提供商之间的支持可能有所不同


另请参见:

在我看来,当我们使用刷新令牌时,资源所有者密码凭据(ROPC)的威力得到了正确利用

考虑一个用户需要登录的移动应用程序。一旦登录并使用clientId、secret、userid和密码请求令牌,通常您会得到一个访问令牌和一个刷新令牌。访问令牌的有效时间通常较短(比如1小时),而刷新令牌的有效时间较长(比如24小时)。ClientId和Secret存储在应用程序中。用户ID和密码归用户所有,从不存储在任何地方

当用户在1小时后尝试访问应用程序时,其访问令牌已过期,这意味着在正常情况下,他需要再次登录。 但是我们可以通过将刷新令牌与clientId和Secret(不需要用户id和密码)交换来获得新的访问令牌(和新的刷新令牌),从而避免再次输入他的用户id和密码的繁琐任务。新的访问令牌将具有与以前的访问令牌相同的所有功能。这意味着,只要用户至少在24小时前处于活动状态,他就不必再次登录。空闲24小时后,刷新令牌和访问令牌都将过期,需要登录才能获得新的访问令牌