一身转战三千里,一剑曾百万师。这篇文章主要讲述Django开发social-auth-app-django 第三方登陆-魏泯相关的知识,希望能为你提供帮助。
本文作者:魏泯
博客源地址:https://www.cnblogs.com/Asterism-2012/
在很多博友的博客中学习了social-auth-app-django这个模块。发现很多事情还是要自己操作之后才能得到经验。我这里做一些补充。
基于OAuth2:https://oauth.net/2/(官方网址)
文章图片
1. 使用social-auth-app-djang这个第三方包之前先安装::
pip install social-auth-app-django
2. 配置settings.py 文件:安装应用
INSTALLED_APPS = [ ... \'social_django\', ]
3. 配置mysql数据库连接就可以直接迁移。因为在social_django的源码中可以看到已经为我们生成好了迁移文件。
文章图片
4. 查看mysql(可选项),这钟情况是已经成功。多了几个social为我们创建的表。social美式音标:[?so??l]
文章图片
5. 重写Django的认证后端,添加配置信息字符串的本质是调用文件路径。
# 重写django的认证后端,需要配置 AUTHENTICATION_BACKENDS = [
\'social_core.backends.weibo.WeiboOAuth2\',# 新浪微博登陆
\'social_core.backends.amazon.amazonOAuth2\',# 亚马逊登陆
]
源码中的位置,以亚马逊为例,都是一样的路径规律。
文章图片
6. 配置主路由urls.py
urlpatterns = [ url(r\'^\', include(\'social_django.urls\')), ]
7. 设置模板引擎 settings.py
TEMPLATES = [ { \'BACKEND\': \'django.template.backends.django.DjangoTemplates\', \'DIRS\': [], \'APP_DIRS\': True, \'OPTIONS\': { \'context_processors\': [ \'django.template.context_processors.debug\', \'django.template.context_processors.request\', \'django.contrib.auth.context_processors.auth\', \'django.contrib.messages.context_processors.messages\',# 添加backends与登陆重定向模板 \'social_django.context_processors.backends\', \'social_django.context_processors.login_redirect\', ], }, }, ]
8. 配置第三方所需要的常量
# 配置微博开放平台授权 # SOCIAL_AUTH_要使用登录模块的名称大小_KEY,其他如QQ相同 SOCIAL_AUTH_WEIBO_KEY = \'这里填App Key\' SOCIAL_AUTH_WEIBO_SECRET = \'这里填App Secret\'# 登录成功后跳转页面 SOCIAL_AUTH_LOGIN_REDIRECT_URL = \'这里填登陆后跳转的URL,比如主页\'
9. 查看回调URL如何设置
回调URL的内部实现可以看一下源码,暂时不用更改。.\\\\social_django\\urls.py
文章图片
配置回调URL,授权取消回调页填为空。
文章图片
10. 请求这个URL http://域名/login/使用模块名称/ 如 http://127.0.0.1:8000/login/weibo/
文章图片
文章图片
最后,查看表内容,有了新的内容。
【Django开发social-auth-app-django 第三方登陆-魏泯】
文章图片
感谢博主@林贵秀,@lvye001;
有句话惊醒着我,你所学会的东西,到最后你要把它全部传授给他人,你所拥有 的,你要把它奉献给他人。
而不是你自己独享,人不仅仅是为了自己而活。
——爱因斯坦没说过这话。
愚者笑我,贤者会倾听我的话。
推荐阅读
- vue 与原生app的对接交互(混合开发)
- 利用MyBatis生成器自动生成实体类DAO接口和Mapping映射文件
- Android studio中怎么导入android.support.v4包
- 微信打开链接后如何自动调用手机自带默认浏览器下载APP
- automapper 自动映射 集成asp.net Core2.1
- Mapped Statements collection does not contain value for insertToSoEarlyWarning.mapper.xml路径写错(示例代
- appium 报错
- Android IntentService源码理解 及 HandlerThread构建消息循环机制分析
- Android JNI 学习(String Operations Api & Other Apis)