微博第三方登入 DRF

2021-10-05 03:18:03 字數 1907 閱讀 5998

官方文件:

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...