为什么在 Oauth2 中需要授权码?

Why Authorization Code is necessary in Oauth2?

授权码授予是OAuth2中四种授权授予类型之一。在隐式授予中,授权令牌直接作为响应发回,但在授权代码授予中,代码作为响应发回,然后用于从授权服务器检索令牌。

我的问题是,为什么Authorization Code Grant需要Authorization Code,而不是像Implicit Grant那样直接发回token?

通过授予授权码,令牌的授权码交换发生在服务器端(即不直接在浏览器中)。这样,客户端机密和令牌可以更“安全”地保存在服务器上。阅读 here 隐式流程以牺牲一些安全隐患为代价的“简化”