OAuth2.0/OIDC 中的 grant_type 与 response_type

11 asp.net authentication authorization oauth-2.0 openid-connect

我不太明白OAuth2.0 / OIDC规范response_typegrant_type之间的区别。

我的猜测是,在与令牌端点交互(以获取访问和/或刷新令牌)时,在 URL 中指定了grant_type,在与授权端点交互时使用response_type以获取身份令牌授权代码。那正确吗 ?

如果是这样,在使用混合流时我们应该使用什么作为gant_type

任何帮助将不胜感激

Kav*_*uwa 8

response_typegrant_type是 OAuth 2.0 规范中建立的两个强制参数。因此 OpenID Connect 建立在 OAuth 2.0 之上,这两个参数也用于 OpenID Connect。

response_type用于授权端点。此参数定义授权响应必须包含在其响应中。例如,code当使用授权码授权时(类似 OpenID Connect 中的授权码流程)。

另一方面,grant_type用于令牌端点。它定义了用于令牌请求的授权。例如,authorization_code是用于授权代码授权的授权(类似 OpenID Connect 中的授权代码流程)。

对于混合流,response_type扩展为具有多个段。这是通过OAuth 2.0 Multiple Response Type Encoding Practices 完成的。这使您能够使用 response_type,例如response_type=id_token%20token. 并且grant_type将与您使用授权代码流相同。它会code。这是在规范的混合令牌请求中定义的