2.
客户端应用程序调用授权服务器的 authorize
端点。
3.
授权服务器响应重定向 URI,如果有的话,用户将被重定向到授权页面。
4.
用户通过其身份源(如用户名密码)进行身份验证并同意。
6.
客户端应用程序使用在上一步提供的授权码请求身份验证到令牌端点,使用配置的身份验证方法和在前一步提供的授权码。
7.
授权服务器验证授权码(code)、客户端 ID 和客户端密钥。
9.
客户端应用程序从资源服务器请求受保护资源,并提交在上一步收到的令牌(Token)。
response_type=code
:这告诉授权服务器(Authorization Server)正在启动授权码流程。
client_id
:应用程序的公共标识符(客户端 ID),开发者在注册应用程序时获得。
redirect_uri
:告诉授权服务器在用户同意请求后将用户进行重定向的回调地址。
scope
:一个或多个用空格分隔的字符串,指示应用程序正在请求哪些权限。你正在使用的特定 OAuth API 将定义其支持的范围。
state
:应用程序生成一个随机字符串,并将其包含在请求中。然后应用程序应检查用户授权应用程序后返回的相同值,这用于防止 CSRF 攻击。
grant_type=authorization_code
: 这告诉授权服务器目前 OAuth 2.0 使用的类型是授权码授权类型。
redirect_uri
- 请求代码时使用的相同重定向 URI。某些 API 不需要此参数,因此你需要仔细查看你要访问的特定 API 的文档。
client_id
- 应用程序的客户端标识符(客户端 ID)。
client_secret
- 应用程序的客户端密钥。这确保了获取访问令牌的请求仅来自应用程序,而不是可能拦截授权码的潜在攻击者。