django实现github第三方本地登录

1、安装

pip install social-auth-app-django

2.生成Client ID和Client Secret

3、修改setting.py

INSTALLED_APPS = [
    ‘account‘,
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘social_django‘, # 新增
]
...
TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)]
        ,
        ‘APP_DIRS‘: True,
        ‘OPTIONS‘: {
            ‘context_processors‘: [
                ‘django.template.context_processors.debug‘,
                ‘django.template.context_processors.request‘,
                ‘django.contrib.auth.context_processors.auth‘,
                  ‘django.contrib.messages.context_processors.messages‘,
                ‘social_django.context_processors.backends‘, # 新增
                ‘social_django.context_processors.login_redirect‘, #新增
            ],
        },
    },
]
...

AUTHENTICATION_BACKENDS = (
    ‘social_core.backends.github.GithubOAuth2‘,
    ‘django.contrib.auth.backends.ModelBackend‘,
) # 新增

SOCIAL_AUTH_URL_NAMESPACE = ‘social‘ # 新增

# 填写Github中获取到的KEY和SECRET

SOCIAL_AUTH_GITHUB_KEY = ‘b6696e45bd0162e22901‘
SOCIAL_AUTH_GITHUB_SECRET = ‘ba0e9d344c84bad09822cb2f5c04dbcbaa089e20‘
SOCIAL_AUTH_GITHUB_USE_OPENID_AS_USERNAME = True

# 登陆成功后的回调路由
SOCIAL_AUTH_LOGIN_REDIRECT_URL = ‘/account‘ # 登陆成功之后的路由

4、同步数据库

python manage.py migrate

5、修改项目下的urls.py

#新增
url(‘‘, include(‘social_django.urls‘, namespace=‘social‘)),

6、在登陆的模板新增

<a href="{% url "social:begin" "github" %}">Github登陆</a>

7、结果演示

原文地址:https://www.cnblogs.com/gange111/p/9600134.html

时间: 2024-08-01 21:41:54

django实现github第三方本地登录的相关文章

SPA+.NET Core3.1 GitHub第三方授权登录 使用AspNet.Security.OAuth.GitHub

使用SPA+.NET Core3.1实现 GitHub第三方授权登录 类似使用AspNet.Security.OAuth.GitHub,前端使用如下:VUE+Vue-Router+axios AspNet.Security.OAuth.GitHub GitHub https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers GitHub授权登录 什么配置的过程不说了..有一推. GitHub 第三方登录 给你的网站添加第三方登

Github 第三方授权登录教程

Github 第三方授权登录教程 ####大致流程图 ####1.首先注册一个github帐号,Applications>Developer applications>Register a new application. ####2.填入参数 Application name--应用名称,随意填 Homepage URL--如上图可以填本地地址进行测试,127.0.0.1:port/xx/xx Application description--应用描述,随意填 Authorization c

【Demo】QQ,github,微博第三方社交登录

本文主要讲解 集成 第三方社交账号登录 为什么会有这个需求? 主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号 用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足够安全 而目前流行的社交网站 基本上每个用户都有账号,如果通过这类社交网站登录 就能得到如下几点好处 用户不用再注册其他账号 用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了 常见的第三方社交账号有哪些? QQ 微信 新浪微博 人人网 百度 Github 如何加入第三方登录功能?

【Android应用开发详解】实现第三方授权登录、分享以及获取用户资料

由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交流.学习和参考,博主只求能和大家共同进步.希望能多多支持! 这篇文章中,我们使用到了Share SDK,它是为iOS.Android.WP8的APP提供社会化功能的一个组件,目前支持如QQ.微信.新浪微博.腾讯微博.开心网.人人网.豆瓣.网易微博.搜狐微博.facebook.twitter.googl

【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交流.学习和参考,博主只求能和大家共同进步.希望能多多支持! 这篇文章中,我们使用到了Share SDK,它是为iOS.Android.WP8的APP提供社会化功能的一

浅谈第三方账号登录

最近了解了下第三方账号登录,对其中的一些心得,做了简单的整理... 现在主流的注册方式大致可分为以下两种: 1.本地账号注册 → 首页(最传统的注册方式,注册门槛高,易在登录页面就流失用户) 2.第三方注册 → (本地生成一个用户ID) → 首页(部分应用需要第二步) 要说一下的是:只要是通过第三方登录,就代表用户拿着别人给的钥匙进了自己家门,一旦这钥匙被拿走了,用户也就没了. 第1种注册方式比较传统,这里不再做过多的说明,我们来举例浅谈下第2种注册方式的优缺点: 目前不少较为稀有的资源,多是由

【转】【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交流.学习和参考,博主只求能和大家共同进步.希望能多多支持! 这篇文章中,我们使用到了Share SDK,它是为iOS.Android.WP8的APP提供社会化功能的一

如何通过第三方QQ登录网站首页

QQ登录,就是我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目 若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现.注册方法参考链接http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85 成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID,最重要的是拿到APPID,创建应用的方法参考链接http://wiki.connect.qq

django rest_framework vue 实现用户登录

django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考  django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 在components下新建login.vue 文件 <template> <div class="login"> <el-form label-width="80px"> <el-form-item label="