QQ登录
1、QQLoginTool工具
1.1、安装
# 安装 QQLoginTool 工具类: 
pip install QQLoginTool -i https://pypi.tuna.tsinghua.edu.cn/simple
1.2、使用说明
1.2.1、导入
# 使用时, 需要导入该包: # 我们可以从下载的 QQLoginTool 中导入 OAuthQQ: from QQLoginTool.QQtool import OAuthQQ
1.2.2、初始化 OAuthQQ 对象
# 创建对象 # 创建对象的时候, 需要传递四个参数: oauth = OAuthQQ( client_id=settings.QQ_CLIENT_ID, # QQ互联申请的客户端id client_secret=settings.QQ_CLIENT_SECRET, # 申请的客户端的密钥 redirect_uri=settings.QQ_REDIRECT_URI, # 申请时添加的:扫码验证成功后的回调路径 state=None # 用户完成整个登录流程后,跳转到的页面 )
1.2.3、对象提供方法一:获取QQurl地址
获取 QQ 登录扫码页面,扫码后得到Authorization Code( 特许码 )
# 调用对象的 get_qq_url() 函数, 获取对应的扫码页面: 
login_url = oauth.get_qq_url()
1.2.4、对象提供方法二:获取QQ的access_token
 
通过上面一个函数获取的 Authorization Code 再获取 Access Token
# 调用对象的方法, 根据 code 获取 access_token: access_token = oauth.get_access_token(code)
1.2.5、对象提供的方法三:获取QQ的openid
 
通过上面一个函数获取的 Access Token 再获取 OpenID
# 调用对象的方法, 根据 access_token 获取 openid: 
openid = oauth.get_open_id(access_token)2、QQ登录
QQ登录流程
基本逻辑:
- 获取QQ登录地址
 - OAuthQQ对象的get_qq_url()
 - 扫码或输入账号密码
 - 给用户返回code
 - 用户携带code请求接口2进行
 - 验证用户的code的有效性
 - 根据code获取access_token和openid的成功与否来判定
 - 根据code获取access_token,根据access_token获取openid
 - 判断用户是否绑定QQ
 - 是:直接状态保持登录
 - 否:加密token并返回调用接口3
 - 根据用户输入的手机号…判断是否已注册账号
 - 是:直接绑定,登录
 - 否:新建绑定,登录
 
                    
                
                
            
        
浙公网安备 33010602011771号