完整电商项目--(四)用户登录(3):第三方登录-QQ登录

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

第三方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!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值