我是靠谱客的博主 优美溪流,最近开发中收集的这篇文章主要介绍rest_framework第三方登入--QQ--微信--新浪,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

drf第三方登入–QQ–微信–微博

  • 安装包

    pip install social-auth-app-django
    
  • 注册应用

    INSTALLED_APPS = (
        ...
        'social_django',
        ...
    )
    
  • migrate

    python manage.py migrate
    
  • AUTHENTICATION_BACKENDS

    AUTHENTICATION_BACKENDS = (
        # 第三方登入的验证
        'social_core.backends.open_id.OpenIdAuth',
        'social_core.backends.google.GoogleOpenId',
        'social_core.backends.google.GoogleOAuth2',
        'social_core.backends.google.GoogleOAuth',
        'social_core.backends.twitter.TwitterOAuth',
        'social_core.backends.yahoo.YahooOpenId',
        ...
        'django.contrib.auth.backends.ModelBackend',
    )
    
  • url

    urlpatterns = patterns('',
        ...
        url('', include('social_django.urls', namespace='social'))
        ...
    )
    
  • settings-template

    TEMPLATES = [
        {
            ...
            'OPTIONS': {
                ...
                'context_processors': [
                    ...
                    'social_django.context_processors.backends',
                    'social_django.context_processors.login_redirect',
                    ...
                ]
            }
        }
    ]
    
  • app-key secret-key

    SOCIAL_AUTH_TWITTER_KEY = 'foobar'
    SOCIAL_AUTH_TWITTER_SECRET = 'bazqux'
    
  • 登入成功后的回调

    SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/logged-in/'
    

    案例

    • QQ第三方登入去腾讯开放平开注册应用

    • 微信第三方登入去微信开放平开注册应用

    • 新浪第三方登入去新浪开放平开注册应用

      我这里指介绍新浪
      • 应用需要配置位置
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述

      • django–settings.py
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述

      • django–url.py
        在这里插入图片描述
        url里的源码
        在这里插入图片描述
        访问新浪第三方登入:127.0.0.1:8000/login/weibo/
        访问QQ第三方登入:127.0.0.1:8000/login/qq/
        访问微信第三放登入:127.0.0.1:8000/login/weixin/

      • 由于social-auth-app-django是针对django而不是rest_framework, 所以我们这里就算用第三方登入了, 访问页面是还是不会显示用户信息, 因为rest_framework用的是jsonwebtoken, 所以我们要修改该包下的源文件actions.py
        在这里插入图片描述官方文档http://python-social-auth.readthedocs.org/

最后

以上就是优美溪流为你收集整理的rest_framework第三方登入--QQ--微信--新浪的全部内容,希望文章能够帮你解决rest_framework第三方登入--QQ--微信--新浪所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部