Django开发social-auth-app-django 第三方登陆
本文作者:魏泯
博客源地址:https://www.cnblogs.com/Asterism-2012/
在很多博友的博客中學習了social-auth-app-django這個模塊。發(fā)現(xiàn)很多事情還是要自己操作之后才能得到經(jīng)驗。我這里做一些補充。
基于OAuth2:https://oauth.net/2/(官方網(wǎng)址)
?
1. 使用social-auth-app-djang這個第三方包之前先安裝::
pip install social-auth-app-django2. 配置settings.py 文件:安裝應用
INSTALLED_APPS = [...'social_django', ]3. 配置mysql數(shù)據(jù)庫連接就可以直接遷移。因為在social_django的源碼中可以看到已經(jīng)為我們生成好了遷移文件。
4. 查看mysql(可選項),這鐘情況是已經(jīng)成功。多了幾個social為我們創(chuàng)建的表。social美式音標:[?so??l]
5. 重寫Django的認證后端,添加配置信息字符串的本質(zhì)是調(diào)用文件路徑。
# 重寫django的認證后端,需要配置 AUTHENTICATION_BACKENDS = ['social_core.backends.weibo.WeiboOAuth2', # 新浪微博登陸 'social_core.backends.amazon.amazonOAuth2', # 亞馬遜登陸
]
源碼中的位置,以亞馬遜為例,都是一樣的路徑規(guī)律。
?
6. 配置主路由urls.py
urlpatterns = [url(r'^', include('social_django.urls')), ]7. 設(shè)置模板引擎 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. 配置第三方所需要的常量
# 配置微博開放平臺授權(quán) # SOCIAL_AUTH_要使用登錄模塊的名稱大小_KEY,其他如QQ相同 SOCIAL_AUTH_WEIBO_KEY = '這里填App Key' SOCIAL_AUTH_WEIBO_SECRET = '這里填App Secret'# 登錄成功后跳轉(zhuǎn)頁面 SOCIAL_AUTH_LOGIN_REDIRECT_URL = '這里填登陸后跳轉(zhuǎn)的URL,比如主頁'9. 查看回調(diào)URL如何設(shè)置
回調(diào)URL的內(nèi)部實現(xiàn)可以看一下源碼,暫時不用更改。.\\social_django\urls.py
配置回調(diào)URL,授權(quán)取消回調(diào)頁填為空。
?
10. 請求這個URL?http://域名/login/使用模塊名稱/ 如?http://127.0.0.1:8000/login/weibo/
最后,查看表內(nèi)容,有了新的內(nèi)容。
?
感謝博主@林貴秀,@lvye001;
?
有句話驚醒著我,你所學會的東西,到最后你要把它全部傳授給他人,你所擁有 的,你要把它奉獻給他人。
?
而不是你自己獨享,人不僅僅是為了自己而活。
?
——愛因斯坦沒說過這話。
?
愚者笑我,賢者會傾聽我的話。
?
轉(zhuǎn)載于:https://www.cnblogs.com/Asterism-2012/p/10029751.html
總結(jié)
以上是生活随笔為你收集整理的Django开发social-auth-app-django 第三方登陆的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ETL控件还是存储过程
- 下一篇: zabbix初始化设置时无法到DB配置页