Djangorestframework集成微博第三方登录

python

准备工作

1.注册微博开放者平台并通过个人认证,创建一个网页应用。

2.在高级信息中编辑回掉url,可以填写本机的地址。

3.找到自己的app_key 和 App Secret并保存。

4.准备一个django restframework 前后端分离项目。

相关推荐:《Python相关教程》

drf集成social-auth第三方包

这里我们要安装social-auth-app-django这个第三方包,世界上所有主流的第三方登录都可以支持,我们可以在他的源码里看到几乎涵盖了所有第三方登录。

pip直接安装

$ pip install social-auth-app-django

在settings.py文件中设置:

#安装的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和微信道理也一样。

以上是 Djangorestframework集成微博第三方登录 的全部内容, 来源链接: utcz.com/z/522012.html

回到顶部