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


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

    友情链接

    python-social-auth-app官方文档

    微博开放者平台

    QQ开放者平台

    准备工作

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

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

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

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

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

  • 相关阅读:
    ubuntu 10.04 install network bcm4418
    linux vi commend
    api
    ubuntu安装jdk
    maven常用命令介绍
    ubuntu 10.04 install oracle11g
    putty中文乱码问题解决
    SCP不需要密码
    java command
    Ubuntu vsftpd 安装配置
  • 原文地址:https://www.cnblogs.com/PyKK2019/p/10716230.html
Copyright © 2020-2023  润新知