QQ 第三方登录
目的:
优化用户登录体验
流程:
1554641512868.png
按流程 :
用户方面:
用户 点击 QQ登录 按钮
用户 扫码二维码
用户 得到 响应结果
服务器端:
事先 在腾讯QQ注册, 获取到和网站 对应的 url
-
从前端 获取 code(这个 code 是 扫码后 腾讯提供的)
服务器内部 用 code 向 腾讯请求 获取 Token
服务器内部 用 Token 向 腾讯请求 获取 OpenID
通过 OpenID 经过 响应逻辑, 返回给前端 对应数据
响应逻辑
这里, 第六步的逻辑响应, 比较复杂:
1554642498995.png
- 获取到OpenID 查询 数据库中 该 用户 是否绑定了 我方 账户
已绑定, 则返回 给 前端 用户的相关信息, 前端 帮助 用户 跳转到 对应页面
-
未绑定, 则加密 OpenID 返回给前端, 前端 收到之后, 引导用户跳转到 注册界面,
前端 将 用户 填写的 用户名、密码、access_token 返回给后端
-
后端 通过 用户名 判断 用户是否注册过
已注册, 则 绑定 这个用户 和 对应的 OpenID
-
未注册
新建 用户
绑定 这个用户 和 对应的 OpenID