Django项目中实现使用qq第三方登录功能
(编辑:jimmy 日期: 2025/1/19 浏览:3 次 )
使用qq登录的前提是已经在qq互联官网创建网站应用并获取到QQ互联中网站应用的APP ID和APP KEY
1,建路由
# qq登录 path('loginQq/',qq.loginQq,name='loginQq/'), path('returns/',qq.returns,name='returns/'),
2,前端页面写qq登录的链接,本文没有用图标,暂时使用a链接请求。
<a data-wow-delay=".5s" href="/blog/loginQq/" rel="external nofollow" > » QQ登录</a>
3,在项目的应用下创建utils文件夹并创建function.py用于封装函数,封装的函数用于从返回数据中提取openid(腾讯公司数据库里面的用户id)
封装的函数内容如下;
import re def parse_jsonp(jsonp_str): try: return re.search('^[^(]*"color: #ff0000">4,后台代码from django.shortcuts import render,redirect,HttpResponse,HttpResponseRedirect from blog.models import Member from urllib import parse from urllib import request as req import re import json import random from blog.utils import function def loginQq(request): state = str(random.randrange(100000,999999)) # 定义一个随机状态码,防止跨域伪造攻击。 request.session['state'] = state # 将随机状态码存入Session,用于授权信息返回时验证。 client_id = '101716344' # QQ互联中网站应用的APP ID。 # 对回调地址进行编码,用户同意授权后将调用此链接。 callback = parse.urlencode({'redirect_uri':'http://127.0.0.1:8000/blog/returns'}) #redirect_uri=http%3A%2F%2F127.0.0.1%3A8000%2Fblog%2Freturns # 组织QQ第三方登录链接 login_url = 'https://graph.qq.com/oauth2.0/authorize"color: #ff0000">5,启动项目测试功能
6,查看数据库会员表,会员信息已写入。
总结
以上所述是小编给大家介绍的Django项目中实现使用qq第三方登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
下一篇:Flask框架实现的前端RSA加密与后端Python解密功能详解
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。