实现流程
- 点击第三方登录按钮:执行window.open方法,打开一个第三方指定url出口,该地址会指向第三方登录url,并且由第三方提供一个对应的二维码
- 弹出一个小窗口,展示对应二维码:此处展示的二维码,即为上一步中第三方提供的二维码
- 手机打开对应的 APP进行扫码之后,会跳转到同意页面,同时浏览器端也会显示扫码成功,页面进行轮询,配合第三方 APP来判断是否扫码成功
- 手机端操作同意登录之后,会出现两种情况:在APP中同意之后,第三方会进行对应的跳转,跳转地址为你指定的
- 地址,在该地址中可以获取到第三方的用户信息,该信息即为第三方登录时要获取到的关键数据。
- 至此,第三方操作完成。接下来需要进行本平台的登录判定。
- 该注册指的是第三方用户是否在本平台中进行了注册。
- 因为在之前的所有操作中,我们拿到的是*第三方的用户信息。
- 该信息可以帮助我们直接显示对用的用户名和头像,但是因为不包含关键信息(手机号、用户名、密码)所以我们无法使用该信息帮助用户直接登录
- 所以我们需要判断当前用户是否在咱们自己的平台中完成了注册
- 当前用户已注册:直接登录
- 当前用户未注册:执行注册功能
所以大概步骤可分为:
1.对接第三方平台,获取第三方平台的用户信息
2.利用该用户信息,完成本应用的注册
QQ第三方登录功能
- 注册账户
- 认证开发者
- 注册应用
整体流程如下:
注册账户:
- 点击登录按钮,进行扫码登录https://connect.qq.com/
- 点击头像进行开发者审核