zoukankan      html  css  js  c++  java
  • 记录下自己亲自做的Django项目继承QQ第三方登录

    Django2.0

    先申请QQ互联地址->注册认证开发者->创建应用等待审核

     

     

    下面用social_django第三方库来实现第三方登录

    github地址,上面有使用说明

    https://github.com/python-social-auth/social-app-django

    (1) 安装

    pip install social-auth-app-django

     (2)INSTALL_APP中配置

    'social_django',

    (3)生成表

    只需要做migrate,因为migration的文件已经生成好了,数据库中多了五张表,存储第三方登录的信息。

    python manage.py migrate

    img

    (4) 添加到AUTHENTICATION_BACKENDS

    # settings.py
    AUTHENTICATION_BACKENDS = (
        'social_core.backends.weibo.WeiboOAuth2',
        'social_core.backends.qq.QQOAuth2',
        'social_core.backends.weixin.WeixinOAuth2',
        'django.contrib.auth.backends.ModelBackend',
    )

    (5)配置url

    # 第三方登录
        url('', include('social_django.urls', namespace='social'))

     (6)settings里面context_processors

    对于template中的用法,向context_processors中加入下面两个

      'social_django.context_processors.backends',
      'social_django.context_processors.login_redirect',

    (7)接口

    qq互联里配置回调 :http://域名/complete/qq/、http://www.域名/complete/qq/或者http://127.0.0.1:8000/complete/qq/

      在微博开放平台里面设置回调url,调试的时候设置成本地的就可以了,上线的时候改成服务器的ip地址

    img

     (8)APP Secret和App key配置,settings里面

    # 第三方登录,里面的值是你的开放平台对应的值
    SOCIAL_AUTH_WEIBO_KEY = 'xxxxxxx'
    SOCIAL_AUTH_WEIBO_SECRET = 'xxxxxx'
    
    SOCIAL_AUTH_QQ_KEY = 'xxxxxxx'
    SOCIAL_AUTH_QQ_SECRET = 'xxxxxxx'
    
    SOCIAL_AUTH_WEIXIN_KEY = 'xxxxxxx'
    SOCIAL_AUTH_WEIXIN_SECRET = 'xxxxxxx'

    现在浏览器访问:http://127.0.0.1:8000/login/weibo、http://www.域名/login/qq/、http://127.0.0.1:8000/login/qq/,就可以登录了,我们还需要设置用户微博、QQ登录成功后跳转到首页

    #登录成功后跳转到首页
    SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/index/'
    或者
    SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/users/index/' #这里需要配置该路径能访问  
    在apps下users里配置/users/index/的url路径

     

    #QQ第三方登录回调地址
        url(r'^index/$',IndexView.as_view(),name='index'),
    

      

    现在就登录后就正常了。qq和微信的登录,一样的操作,只要去开放平台注册应用,其它跟微博登录一样设置就可以了。

  • 相关阅读:
    Log Explorer的使用
    Windows消息大全
    Devepress LayoutControl的使用
    IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)
    检索参数信息并填充指定的 SqlCommand 对象的 Parameters 集合
    Failed to access IIS metabase.
    SQL Server FOR XML PATH 语句的应用
    C#调用API:mouse_event 模拟鼠标事件
    C#执行SQL脚本
    ADO.NET 中的表达式
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/12667228.html
Copyright © 2011-2022 走看看