Django rest framework集成微博第三方登陸

Django restframework 集成第三方登陸(微博、微信、QQ等)

友情連接

python-social-auth-app官方文檔php

微博開放者平臺html

QQ開放者平臺python

準備工做

1.註冊微博開放者平臺並經過我的認證,建立一個網頁應用。數據庫

2.在高級信息中編輯回掉url,能夠填寫本機的地址。django

3.找到本身的app_key 和 App Secret並保存後端

4.準備一個django restframework 先後端分離項目。微信

drf集成social-auth第三方包

這裏咱們要安裝social-auth-app-django這個第三方包,世界上全部主流的第三方登陸均可以支持,咱們能夠在他的源碼裏看到幾乎涵蓋了全部第三方登陸。 app

#pip直接安裝前後端分離

$ pip install social-auth-app-django

在settings.py文件中設置:url

#安裝的apps
INSTALLED_APPS = (
    ...
    'social_django',
    ...
)

#認證backend
AUTHENTICATION_BACKENDS = (
  'social_core.backends.weibo.WeiboOAuth2',
  'django.contrib.auth.backends.ModelBackend'
)


#上下文管理器
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            ...
            'context_processors': [
                ...
                'social_django.context_processors.backends',
                'social_django.context_processors.login_redirect',
                ...
            ]
        }
    }
]

#微博的app id
SOCIAL_AUTH_WEIBO_KEY = 'xxx'
#微博的app secret key
SOCIAL_AUTH_WEIBO_SECRET = 'xxx'

#登陸成功後跳轉的頁面
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/index/'

同步數據表到數據庫中:

python manage.py migrate

urls.py中設置:

urlpatterns = patterns('',
    ...
    url('', include('social_django.urls', namespace='social'))
    ...
)

驗證是否登陸成功

打開http://127.0.0.1/login/weibo/ 顯示以下內容:

點擊登陸後回調配置的url,即爲成功!

在數據庫中也能夠看到登陸的用戶:

這樣就實現了集成到第三方登陸,QQ和微信道理也同樣。

相關文章
相關標籤/搜索