我的编程空间,编程开发者的网络收藏夹
学习永远不晚

OAuth2.0 social_djan

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

OAuth2.0 social_djan

python网站第三方登录,social-auth-app-django模块,

social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块

目前流行的第三方登录都采用了OAuth2协议

 

安装:

 

pip install social-auth-app-django

 

 

settings.py配置:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    

    #第三方登录
    'social_django',
]

 

 

 

下一步我们就要执行迁移:

 

python manage.py migrate

 

social开头的就是我们生成的第三方表!

 

然后我们继续settings.py配置:

配置这里,当用户登录的时候,如果用户不存在,会自动在用户表创建用户,并且关联用户信息

 

 

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]

 

#在配置文件中告知Django使用我们自定义的认证后端
AUTHENTICATION_BACKENDS = [
    'users.utils.UsernameModelBackend',
'social_core.backends.weibo.WeiboOAuth2', #微博 'django.contrib.auth.backends.ModelBackend', #指定django的modelbackend 类
]

 

第三方参数配置:

# 用户key
SOCIAL_AUTH_WEIBO_KEY = ''
# 用户secret SOCIAL_AUTH_WEIBO_SECRET = ''
# 登陆后用户跳转的地址 SOCIAL_AUTH_LOGIN_REDIRECT_URL = 'http://127.0.0.1:8080/index.html'

配置主路由:

urlpatterns = [
    url('^xadmin/', xadmin.site.urls),
  

    # 第三方登录
    url('', include('social_django.urls')),
]

下面我们还要配置回调URL:

在自己应用里的高级信息里,编辑授权回调页http://127.0.0.1:8000/complete/weibo/,黄色箭头指向的可以不填写

 

最后登录测试一下,看自己social_auth_usersocialauth表里是否有用户

登录成功跳到首页,发现还处于未登录状态,我们需要对源码做修改

我们要找到环境里的social_core目录下的actions.py

然后在100行左右  把下面这行代码

return backend.strategy.redirect(url)

修改为:

from rest_framework_jwt.serializers import jwt_encode_handler,jwt_payload_handler


response = backend.strategy.redirect(url) payload = jwt_payload_handler(user) response.set_cookie("name", user.username if user.username else user.username, max_age=24 * 3600) response.set_cookie("token", jwt_encode_handler(payload), max_age=24 * 3600) return response

修改好后登录之后就可以显示用户了!

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

OAuth2.0 social_djan

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

OAuth2.0 social_djan

python网站第三方登录,social-auth-app-django模块,social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块目前流行的第三方登录都采用了OAuth2协议 安装: pip
2023-01-30

OAuth2.0介绍

概述OAuth 2.0 授权框架能够是第三方应用获取应用被保护的服务资源,它是一种授权互联网标准,由IETF(Internet Engineering Task Force)管理发布。本文主要参考材料为 RFC 6749 初步理解接下来以一
2023-06-02

JWT和OAuth2.0

文章目录 前言一、JWT1、JWT格式2、签名和验签HS256RS256RSA的两点基本原理RSA公钥、私钥加密的使用场景 二、OAuth2.0三、应用场景 前言 JWT和OAuth2.0没有可比性,是两
2023-08-19

OAuth2.0的授权方式有哪些

本篇内容介绍了“OAuth2.0的授权方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们需要清楚 OAuth 是什么?OAut
2023-07-05

ASP.NET MVC中怎么使用Oauth2.0验证身份

这期内容当中小编将会给大家带来有关ASP.NET MVC中怎么使用Oauth2.0验证身份,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. OAuth3.0中的角色  ● Resource Owner:
2023-06-19

phpcms V9实现QQ登陆OAuth2.0提供下载

实现步骤: ①打开\phpcms\modules\member\index.php文件,把下面的代码找个地方塞进去(可以直接在pc默认的QQ登陆下面)。 复制代码代码如下://QQ登陆oAuth2.0 ublic function publ
2022-06-12

phpcms V9实现qq登陆oauth2.0的方法

phpcmsV9使用的QQ登陆依然是OAuth1.0,但现在腾讯已经不审核使用OAuth1.0的网站了。这对于使用pc的站长来讲是一个无比巨大的坑。经过对phpcms论坛的一位同学做的插件进行修改,现在完美实现QQ登陆,暂无发现bug。 实
2022-06-12

springboot整合springsecurity+oauth2.0密码授权模式

springboot整合springsecurity+oauth2.0 本文采用的springboot去整合springsecurity,采用oauth2.0授权认证,使用jwt对token增强。本文仅为学习记录,如有不足多谢提出。 OAu
2023-08-18

H5使用微信OAuth2.0授权登录,并实现内网调试。

H5实现微信授权登录的流程不在过多赘述官方文档传送门,下面直接上如何在开发状态下实现授权登录调试。 1.准备工作。 微信公众号的开发权限,配置后续会讲。内网穿透工具。一个node服务点这里koa2快速搭建,传送门。 2.公众号配置 如图
2023-08-17

SAP和SAP C4C之间的OAuth2.0怎么配置

这篇文章主要讲解了“SAP和SAP C4C之间的OAuth2.0怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SAP和SAP C4C之间的OAuth2.0怎么配置”吧!基于OAuth
2023-06-04

Android仿新浪微博oauth2.0授权界面实现代码(2)

oauth2.0授权界面,大致流程图:前提准备: 在新浪开放平台申请appkey和appsecret:http://open.weibo.com/. 熟悉oauth2.0协议,相关知识:http://www.ruanyifeng.com/
2022-06-06

如何实现OAuth2.0授权系统的验证码功能

这篇文章主要介绍了如何实现OAuth2.0授权系统的验证码功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。正文:我这套系统授权基于OAuth3.0实现,登录的是http:/
2023-06-15

OAuth2.0 实践 Spring Authorization Server 搭建授权服务器 + Resource + Client

title: OAuth2.0 实践 Spring Authorization Server 搭建授权服务器 + Resource + Client date: 2023-03-27 01:41:26 tags: OAuth2.0Spri
2023-08-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录