Oauth 为什么授权授予类型中需要授权代码

Oauth 为什么授权授予类型中需要授权代码,oauth,oauth-2.0,Oauth,Oauth 2.0,我是OAuth新手,想知道为什么需要授权代码 为什么授权在回调响应中不发送访问令牌或刷新令牌 为什么不直接访问令牌?授权代码授权使用短期一次性代码,以便在更安全的反向通道调用中,将其交换为真实令牌(寿命更长且多次使用),并利用凭据向授权服务器验证客户端 隐式授权类型直接在授权响应中返回访问令牌。它被认为是更不安全的,因为它更容易受到攻击(使用特制的重定向等),并且因为没有办法对客户端凭据保密。授权码授予使用短期一次性代码,以便可以将其交换为真正的令牌(寿命更长且可多次使用)在更安全的反向通道调用

我是OAuth新手,想知道为什么需要授权代码

为什么授权在回调响应中不发送访问令牌或刷新令牌


为什么不直接访问令牌?

授权代码授权使用短期一次性代码,以便在更安全的反向通道调用中,将其交换为真实令牌(寿命更长且多次使用),并利用凭据向授权服务器验证客户端


隐式授权类型直接在授权响应中返回访问令牌。它被认为是更不安全的,因为它更容易受到攻击(使用特制的重定向等),并且因为没有办法对客户端凭据保密。

授权码授予使用短期一次性代码,以便可以将其交换为真正的令牌(寿命更长且可多次使用)在更安全的反向通道调用中,可以利用凭据向授权服务器验证客户端


隐式授权类型直接在授权响应中返回访问令牌。它被认为是更不安全的,因为它更容易攻击(使用特制的重定向等),并且因为没有办法对客户端凭据保密。

反向通道调用如何更安全?如果我从同一个web服务器使用https呼叫,一个是重定向,容易受到各种攻击,另一个是直接https呼叫如何更安全?如果我从同一个web服务器使用https调用这两种类型,一种是重定向,容易受到各种攻击,另一种是直接https调用授权码授予类型,与隐式授予类型相比,它提供了一个额外的步骤。通过这个额外的步骤,它提供了一些额外的安全好处,它将访问令牌直接传递给客户端应用程序,而不向应用程序的用户或任何其他第三方公开。它还允许对客户端进行身份验证,因为在第一次调用中,它向授权端点发送请求以获取代码,然后在下一步中,它使用授权头调用令牌端点以获取访问令牌。与隐式授权类型相比,授权码授权类型提供了一个额外的步骤。通过这个额外的步骤,它提供了一些额外的安全好处,它将访问令牌直接传递给客户端应用程序,而不向应用程序的用户或任何其他第三方公开。它还允许对客户端进行身份验证,因为在第一次调用中,它向授权端点发送请求以获取代码,然后在下一步中,它使用授权头调用令牌端点以获取访问令牌。