我不太明白OAuth2.0/OIDC规范中response_type和grant_type的区别。我猜测grant_type是在与token端点交互时在URL中指定的(以获取 access 和/或 *refresh token ),而response_type是在与授权端点交互时使用的,以获取 * 身份token 和 * 授权码 *。是这样吗?如果是,那么在使用 hybrid 流时,我们应该使用什么作为grant_type?
5lhxktic1#
response_type和grant_type是OAuth 2.0规范中的两个强制参数。OpenID Connect基于OAuth 2.0构建,这两个参数也在OpenID Connect中使用。response_type用于授权端点。此参数定义授权响应在其响应中必须包含的内容。例如,当使用授权代码grant时,code(类似于OpenID Connect中的授权代码流)。
code
另一方面,grant_type用于token端点。定义了token请求使用的grant。例如,authorization_code是用于授权代码授权的授权(类似于OpenID Connect中的授权代码流)。对于混合流,response_type被扩展为具有多个段。这是通过OAuth 2.0 Multiple Response Type Encoding Practices完成的。这使您可以使用响应类型,例如**response_type=id_token%20token。和grant_type**将与使用授权码流时相同。它将是code。这在规范的混合令牌请求中定义
authorization_code
response_type=id_token%20token
1条答案
按热度按时间5lhxktic1#
response_type和grant_type是OAuth 2.0规范中的两个强制参数。OpenID Connect基于OAuth 2.0构建,这两个参数也在OpenID Connect中使用。
response_type用于授权端点。此参数定义授权响应在其响应中必须包含的内容。例如,当使用授权代码grant时,
code
(类似于OpenID Connect中的授权代码流)。另一方面,grant_type用于token端点。定义了token请求使用的grant。例如,
authorization_code
是用于授权代码授权的授权(类似于OpenID Connect中的授权代码流)。对于混合流,response_type被扩展为具有多个段。这是通过OAuth 2.0 Multiple Response Type Encoding Practices完成的。这使您可以使用响应类型,例如**
response_type=id_token%20token
。和grant_type**将与使用授权码流时相同。它将是code
。这在规范的混合令牌请求中定义