前言:
第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目。登录环节中很常见的第三方登录,如QQ、微信、支付宝、新浪微博等。第三方登录具有显著的便捷和高效特点,极大地方便了用户的操作使用,但相应的也会有局限性,好吧,一起来看下吧~
1,使用第三方登录优点:
- 基于用户而言:
1.方便用户使用第三方账号快捷登录,简化注册过程;
2.不必费尽心思地记住账户密码,可以实现一键登录。
- 基于平台而言
1.简化注册登录环节,避免因为注册流程繁琐带来的用户流失;
2.简化用户设置过程,可直接获取用户第三方账号的个人信息;
3.可以获得用户在第三方平台的好友社交关系,丰富用户来源;
4.可以通过用户在第三方平台分享推广,提升影响力和知名度。
2,使用第三方登录缺点:
使用第三方登录,虽然很方便,但是放弃了自建账号体系中对用户手机号、邮箱的获取,后续就不能通过手机短信、邮箱将营销信息推送给用户。
3,第三方登录后需要提供解绑功能吗?
不需要,因为现在用户使用第三方账号上的个人信息已经差不多很完善了, 在社交或者支付方面已经可以作为识别该用户的ID,具有明显的唯一性和准确性。
4,什么类型的应用适合采用第三方登录?
- 1,电商类项目
对于电商类项目,注重自己账号体系的建立、注重用户后续的营销,第三方登录只是作为补充,将第三方登录置于页面较下的位置,为新没有账号的用户提供快速登录。
- 2,对于一些游戏类、工具类应用
一般来说,对于工具型、游戏型、内容型等应用,注重的是工具的使用、内容的提供,适合把第三方登录放在优先的位置,甚至只提供第三方登录就行,免去用户注册。
- 对于支付宝、金融类
对于支付类、金融类应用,强调安全性、强调隐私性,一般不提供第三方登录。如果这些类型应用提供第三方登录,让用户觉得不安全,感觉自己的信息会通过第三方授权泄露出去。
以QQ登录为例,给大家介绍一下使用的流程
1. QQ互联开发者申请步骤
若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现。
2. QQ互联应用申请步骤
成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID。
3. 网站对接QQ登录步骤
QQ互联提供有开发文档,帮助开发者实现QQ登录。
提示:当我们在对接第三方平台的接口时,一定要认真阅读第三方平台提供的文档。文档中一定会有接口的使用说明,方便我们开发。
QQ登录工具QQLoginTool
1,QQLoginTool介绍:
- 该工具封装了QQ登录时对接QQ互联接口的请求操作。可用于快速实现QQ登录。
2.,QQLoginTool安装
pip install QQLoginTool
3.,QQLoginTool使用说明
- 1.导入
from QQLoginTool.QQtool import OAuthQQ
- 2.初始化OAuthQQ对象
oauth = OAuthQQ(client_id=settings.QQ_CLIENT_ID, client_secret=settings.QQ_CLIENT_SECRET, redirect_uri=settings.QQ_REDIRECT_URI, state=next)
- 3.获取QQ登录扫码页面,扫码后得到Authorization Code
login_url = oauth.get_qq_url()
- 4.通过Authorization Code获取Access Token
access_token = oauth.get_access_token(code)
- 5.通过Access Token获取OpenID
openid = oauth.get_open_id(access_token)
OAuth2.0认证获取openid
1,待处理业务逻辑
提取code请求参数
使用code向QQ服务器请求access_token
使用access_token向QQ服务器请求openid
使用openid查询该QQ用户是否绑定过
如果openid已绑定,直接生成JWT token,并返回
如果openid没绑定,创建用户并绑定到openid