Djangorestframework集成微博第三方登录-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联建站服务项目包括启东网站建设、启东网站制作、启东网页制作以及启东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,启东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到启东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

Django rest framework集成微博第三方登录?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

准备工作

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

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

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

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

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

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

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

drf集成social-auth第三方包

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

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

pip直接安装

$ pip install social-auth-app-django

在settings.py文件中设置:

#安装的apps
INSTALLED_APPS = (
    ...
    'social_django',
    ...
)
#认证backend
AUTHENTICATION_BACKENDS = (
  'social_core.backends.weibo.WeiboOAuth3',
  '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/

显示如下内容:

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

点击登录后回调配置的url,即为成功!

在数据库中也可以看到登录的用户:

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

这样就实现了集成到第三方登录,QQ和微信道理也一样。

关于Django rest framework集成微博第三方登录问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联-成都网站建设公司行业资讯频道了解更多相关知识。


当前名称:Djangorestframework集成微博第三方登录-创新互联
转载来于:http://csdahua.cn/article/dcepio.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流