文章目录
第三方QQ授权登录
首先·在哪里找对接文档资料?
- 百度直接搜索 腾讯,然后点击腾讯首页

- 拉到最下面点击 开放平台(可以看到微信和QQ授权登录这里都有),点击QQ开放平台。
- 之后登录QQ号,在上方的提示下选择 文档资料

- 有了文档之后,就像我们之前做的 发送短信验证码 的接入第三方平台类似了!
接入步骤(文档资料)
-
(1)首先看到接入指南

我们这两个步骤是准备工作。很明显你需要一个‘有特权的账户(QQ号,去办这些接入的操作)’,另外还需要创建接入的 应用。我们就是创建爱一个应用用来进行 第三方登录。这些准备操作不多说,文档很详细。 -
另外关于SDK,辅助开发者快速接入QQ登录、分享等功能 ,很可惜。网站接入只有 js 和 php版本的。
-
(2)点击网站应用接入

整个流程分五个步骤:

我们只需要完成后面三个主要的步骤即可。前面的步骤文档很详细,且第二步是前端来做的,放置QQ登录图标。
-
什么是OAuth2.0?

-
通俗的理解,就是一种需要遵循的协议。就是说,比如我是一个大公司,我的软件有 上亿的用户, 我想对外公开用户的信息,提供给第三方使用,此时,不是我想怎么开放就怎么开放。而是需要遵守一些协议,开放部分信息等,这就是 OAuth2.0 开放标准。 现在再去理解我图片中画起来的句子,就会理解意思了。 腾讯并不会将 用户名和密码提供给第三方, 也不会把QQ用户的所有数据开放给 第三方公司,而是遵循了这么一个协议。
-
并且是对多方负责的, 保证了自身数据安全(腾讯QQ),保证用户数据安全,保障了第三方调用者,使用方便且满足需求
-
下面是第三个步骤:
-
图片看不懂,直接看下面的过程详解:

-
获取Authorization Code(用户授权码):

很详细的接口文档。 -
response_type :固定的值,表示请求 用户授权码吧 大概~
-
client_id :这个参数就表示 腾讯知道给 那个网站授权了。
-
redirect_uri:回调地址,请求成功之后,表示授权成功,我们就是进入的首页。
-
这个参数的作用~ 我理解还不是很深刻,但是确实是为防止 CSRF攻击有关。 找到一篇微信授权中关于这个 参数的例子
,还有一篇
返回值:

-
接着通过Authorization Code获取Access Token

参数没啥介绍的,写的很清楚。
第四步:获取用户的openid

什么是 openid?
- openid:是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定(从这里知道,QQ授权登录之后,应该关联哪个用户账号)。 这个就是 腾讯对 用户辨识的依据,类似于 每个人都有的身份证号码。
第五步:调用openid接口,完成业务

下面是接口的一些展示:

- 到这里过程我们就走通了。来一张图,具体理解下,浏览器,QQ服务端,django都要干什么,再次清楚业务。

这样三者的关系就十分清晰了! 阅读过官方文档之后,对此过程应该很理解的。
下一节讲下 创建qq用户模型类, 用来关联 本地咱们网站的账号。知道QQ扫码登录的是哪个 账号。
over!

本文详细介绍如何使用QQ授权登录,包括对接文档查找、OAuth2.0协议解析、获取用户授权码及openid,以及如何创建QQ用户模型类关联本地账号。
930

被折叠的 条评论
为什么被折叠?



