- 用户登录第三方应用
- 用户打开一个第三方应用(客户端),想要使用微博账号登录。
- 第三方应用会向微博的授权服务器发起一个授权请求,请求的目的是获取用户的授权,以便访问用户在微博上的一些基本信息。
- 重定向到微博登录页面
微博的授权服务器收到请求后,会重定向用户到微博的登录页面。用户需要在微博的登录页面输入自己的微博账号和密码进行身份验证。
- 用户授权
- 用户登录后,微博会询问用户是否同意第三方应用访问其微博上的某些信息,比如昵称、头像、关注列表等信息,这是用户授权的环节。
- 微博会以页面展示的方式让用户确认是否授权,用户可以选择 “同意” 或 “不同意”。
- 获取授权码
- 如果用户同意授权,微博的授权服务器会向第三方应用的重定向 URI 返回一个授权码(Authorization Code)。
- 第三方应用收到授权码后,会使用授权码向微博的授权服务器请求访问令牌(Access Token)。
- 获取访问令牌
- 第三方应用向微博的授权服务器发送请求,包含授权码、客户端 ID(用于标识第三方应用)、客户端密钥(用于验证第三方应用的身份)等信息。
- 微博的授权服务器验证授权码和第三方应用的身份后,会向第三方应用颁发访问令牌和刷新令牌(可选)。
- 访问微博资源
- 第三方应用使用访问令牌向微博的资源服务器请求用户授权范围内的微博资源(如昵称、头像等)。
- 微博的资源服务器收到请求后,会验证访问令牌的有效性。如果有效,就会返回用户授权的微博资源给第三方应用,用户就可以在第三方应用中使用微博账号登录并共享信息了。