这里我们使用 django-allauth 模块来实现第三方账号验证登录,官方文档如下:https://django-allauth.readthedocs.io/en/latest/ 。

安装 django-allauth

pip install django-allauth

注意,django-allauth 需要在 Django1.10以上版本使用。

在建好的项目 settings.py 文件中加入:

INSTALLED_APPS = (...# 需要的 app'django.contrib.auth','django.contrib.sites','allauth','allauth.account','allauth.socialaccount',# 提供你想接入的第三方验证账户,这里以百度为例'allauth.socialaccount.providers.baidu',
)SITE_ID = 1
LOGIN_REDIRECT_URL = '/'

除了 allauth.socialaccount.providers.baidu 外,也可以把 baidu 换成 twitter 或 github 等几十种不同的网站验证,官方网站列出了所有支持的网站(https://django-allauth.readthedocs.io/en/latest/providers.html)

不过国内的支持倒不多,有百度,微博,微信等。

在 urls.py 中加入一行

re_path(r'^accounts/', include('allauth.urls')),

使用

./manage.py migrate

同步数据库。

上述工作完成后,进入网站的后台管理,就可以看到下图所示界面,多出了许多和网站验证设置相关的数据表。

修改站点内容为你网站的域名,我这里测试用,直接是本地地址

在 Social Accounts › Social applications 下新增一个 Social applications

关于 Client id 和 Secret key 内容需要我们到授权的第三方账号网站开发者创建应用后拿到 对应的 id 和 key,这里以百度为例,登录百度开发者中心,创建应用后我们便拿到相应的 API Key(Client id)和 Secret Key 。

将 API Key 和 Secret Key 填入 Django 后台的 Social applications 中。

添加授权回调页地址 http://your domain/accounts/baidu/login/callback/

接下来我们重新打开我们的登录界面,便有了百度的登录链接

界面有点丑,这是 django-allauth 默认的登录界面,我们可以在 project/templates/account 下创建 login.html 便可覆盖 djano-allauth 的默认登录模板,allauth自带的模板放在 allauth/templates/account 下,也可以在这里替换。

登录 -> 授权 -> 成功!

转载于:https://www.cnblogs.com/weixuqin/p/9330452.html

Django 实现第三方账号登录网站相关推荐

  1. 第三方账号登录功能接入完全流程

    第三方账号虽然是一个小的功能点,但是在设计过程中,我们依然要结合自身产品的特点来确定产品方案和产品流程. 本人在一家网络游戏公司工作,负责公司的基础平台性的产品.主要有用户中心.充值/支付平台.账号密 ...

  2. 基于 Oauth 2.0 的第三方账号登录实现

    基于 Oauth 2.0 的第三方账号登录实现 Oauth 2.0 原理与授权流程 1.刚开始的第三方应用接入其他账号登录过程:  存在问题: 1.用户账号.密码信息透露给了第三方应用,导致安全问题 ...

  3. 第三方账号登录功能接入详细流程(必看)

    第三方账号虽然是一个小的功能点,但是在设计过程中,我们依然要结合自身产品的特点来确定产品方案和产品流程. 本人在一家网络游戏公司工作,负责公司的基础平台性的产品.主要有用户中心.充值/支付平台.账号密 ...

  4. 第三方账号登录功能接入全流程分析(转)

    第一次写产品方面的心得文章,如有写的不好或者错误的地方,请大家多多指教. 本人在一家网络游戏公司工作,负责公司的基础平台性的产品.主要有用户中心.充值/支付平台.账号密保APP等.我们公司的用户中心之 ...

  5. 第三方账号登录的原理

    一个网站或APP, 如果没有用户,那就没有价值.所以,如何吸引用户注册和登录,是一个重要问题,这就涉及到账号体系了. 自建账号体系的注册和登录,前面文章已经讲过.可是,很多用户并不想注册你开发的网站或 ...

  6. WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包 ...

  7. 第三方登录如何给前台返回token_如何设计优雅的第三方账号登录?

    # 前言 在互联网应用中,我们构建一个网站或APP,如果没有用户,那就没有价值.所以,如何吸引用户注册和登录,是一个重要问题,而这就涉及到账号体系了. 在应用构建初期,用户量较少,那么自建系统的账号体 ...

  8. read.html5.qq.com,如何通过第三方QQ登录网站首页

    QQ登录,就是我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目 若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现.注册方法参考链接http:/ ...

  9. Django对接第三方认证登录平台(QQ登录)

    QQ登录开发文档 QQ互联开发者申请步骤 若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现. 相关链接: http://wiki.connect.qq.com/%E6%88%90%E4%B ...

最新文章

  1. 解决 从数据库中读出 的文本中的回车无法在 jsp网页上起作用的问题
  2. 深入解读Service Mesh背后的技术细节
  3. 2017年最新基于Bootstrap 4 的专业、多用途响应式布局的系统模板
  4. leetcode74. 搜索二维矩阵 ,你见过吗
  5. 三、Java 面向对象高级——数据结构、List、Set、Collection
  6. mysql联表查球队比分_mysql – 什么可以导致连接比分为两个查询慢?
  7. 零基础学python-如何零基础开始自学Python编程
  8. brew 镜像_ps镜像快捷键,ps镜像图片效应功能怎么用?
  9. 卡巴6kis最新激活码
  10. 比较两个txt文件的差异
  11. 图像的均值、均方值、方差、均方差、标准差
  12. Kafka Consumer 消费逻辑
  13. 环路分析仪Bode100
  14. 数据结构——超全的数据结构思维导图
  15. 如何实行反编译,将.class文件转化为.java文件
  16. 2G金士顿U盘修复工具迈科微MW6208E/8208_v1.2.0.8
  17. 深圳软件测试培训:移动测试ExpandableListView
  18. 视频教程-FastAdmin插件开发入门-PHP
  19. 军用加固计算机 厂家 排名,中国加固计算机品牌有哪些?
  20. 李子的猜数游戏!!!γ版

热门文章

  1. 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)
  2. 抗衰老,吃这些食物越来越年轻
  3. 悉尼大学计算机录取要求,Q 同学_悉尼大学_计算机_录取成功案例分享
  4. 李迟2021年7月知识总结
  5. 简单的C语言开源软件,自己写的一个简单的数据库...完整开源...
  6. 95-32-015-ChannelPipeline-DefaultChannelPipeline
  7. 【lucene】lucene自定义 filter
  8. 【多线程】LockSupport 使用 原理 源码 分析
  9. 95-140-110-源码-transform-算子keyBy
  10. 95-280-046-源码-资源管理-磁盘