OAuth 2.0 - 授权码
授权代码将由授权服务器发出,授权服务器允许访问授权请求并授予客户端应用程序访问权限以获取所有者资源。
通过使用客户端应用程序将资源所有者定向到授权服务器,可以将资源所有者重定向到具有授权代码的客户端应用程序。
授权码的重要作用是对客户端进行身份验证并直接访问令牌,而不将其传递给所有者的用户代理。
下图展示了授权码的流程。
步骤 1 - 首先,用户使用客户端应用程序访问资源所有者的资源。
步骤 2 - 接下来,在注册重定向 URI(统一资源标识符)期间,将向客户端应用程序提供客户端 ID 和客户端密码。
步骤 3 - 然后,用户通过授权服务器上的客户端应用程序登录,例如 Google、Facebook、Twitter 等。
步骤 4 - 身份验证服务器使用客户端应用程序所有者注册重定向 URI 的授权代码将用户重定向到重定向统一资源标识符 (URI)。
步骤 5 - 注册后,用户从客户端应用程序访问重定向 URI。
步骤 6 - 将向客户端应用程序提供身份验证代码、客户端 ID 和客户端密码,并将它们发送到授权服务器。
步骤 7 - 客户端 ID 和客户端密码对于授权服务器上的客户端应用程序是唯一的。授权服务器向客户端应用程序发送访问令牌。
步骤 8 - 用户将被允许登录应用程序。
步骤 9 - 用户通过授权服务器使用这些凭据登录并访问客户端应用程序。
步骤 10 - 然后将访问令牌发送到资源服务器。
步骤 11 - 资源服务器是托管 Facebook、Google、Twitter 等资源的服务器,用于验证访问令牌。
步骤 12 - 接下来,客户端应用程序访问资源服务器上存储的资源。资源服务器将资源返回给客户端应用程序。
步骤 13 - 接下来,客户端应用程序向用户提供资源。
oauth2.0_obtaining_an_access_token.htm