OAuth2.0/OIDC 中的 grant_type 与 response_type

问题描述 投票:0回答:1

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

我的猜测是 grant_type 在与令牌端点交互时在 URL 中指定(以获取 access 和/或 refresh tokens),而 response_type 在与授权端点交互时使用以获取身份令牌授权码。是吗?

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

authentication oauth-2.0 authorization openid-connect
1个回答
15
投票

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

response_type 用于授权端点。此参数定义授权响应必须包含在其响应中的内容。例如,

code
使用授权代码授予时(类似于 OpenID Connect 中的授权代码流程)。

另一方面,

grant_type 用于令牌端点。它定义了用于令牌请求的grant。例如,

authorization_code
是用于授权代码授予的授予(类似于 OpenID Connect 中的授权代码流)。

对于混合流,response_type被扩展为具有多个段。这是通过 OAuth 2.0 多重响应类型编码实践 完成的。这使您能够使用 response_type,例如

response_type=id_token%20token
。并且 grant_type 将与您使用授权代码流程相同。这将是
code
。这在规范的混合令牌请求中定义

© www.soinside.com 2019 - 2024. All rights reserved.