官方文件:
2、註冊,
['social_django',]
3、由於social_django下已經有migrations,直接migrate進行遷移資料庫
./manage.py migrate
資料庫中生成五張表
3、配置需要認證的第三方平台
authentication_backends =
(# 第三方登入相關配置
'social_core.backends.weibo.weibooauth2'
,# 微博
'social_core.backends.qq.qqoauth2'
,# qq
'social_core.backends.weixin.weixinoauth2'
,'django.contrib.auth.backends.modelbackend'
,)
在social_core下幾乎整合了全世界所有需要登入的知名平台
4、配置templates:
templates =[,},]
5、配置url
urlpatterns = patterns(
url(
'', include(
'social_django.urls'
, namespace=
'social'))
)
6、配置第三方登入的key和select
social_auth_weibo_key =
'foobar'
social_auth_weibo_secret =
'bazqux'
# 需要到qq開放平台設定key和select
social_auth_qq_key =
'foobar'
social_auth_qq_secret =
'bazqux'
social_auth_weixin_key =
'foobar'
social_auth_weixin_secret =
'bazqux'
7、指定第三方授權登入成功後跳轉的url,我設定的是首頁
social_auth_login_redirect_url =
'/index/'
8、修改原始碼;
social_django 元件對原生 django 的支援較好, 但是因為 在drf進行的驗證為 jwt 方式 和 django 的驗證存在區別, 因此需要修改部分原始碼。
修改social_core下actions.py中do_complete函式:
更改後再驗證第三方登入時可能會出現以下報錯:
目前可以這樣修改, 但是不知道這樣會不會造成不好的影響
python 第三方登入 微博
理解第三方登入的流程 使用者向本地應用 發起請求,我要用微博進行登入 我們的 湊乙個url讓使用者跳轉到第三方應用的url 微博的登入頁面 使用者在該介面點選輸入使用者名稱密碼之後,點選授權。微博有個 url指向我們的應用。我們的應用就可以獲取到使用者的基本資訊等。微博介面文件 使用邏輯 1 首先要...
第三方登入之微博
拼接請求路由 請求位址 url 請求資料 data requst url url urllib.parse.urlencode data 從 位址中獲取code值 code request.query params.get code 傳送請求獲取使用者uid和access token值 url da...
django專案微博第三方登入
此處咱們用到的是 social django,所以要把此應用註冊到配置檔案中,然後需要新增 social django.context processors.login redirect authentication backends users.utils.usernamemobileauthba...