当前位置: 首页 > news >正文

网站群建设工作旅游网站管理系统源码

网站群建设工作,旅游网站管理系统源码,北京出啥大事了今天,长春seo公司哪家好文章目录 JWT简介在Django中使用JWT1. 安装2. 配置3. 添加认证接口 客户端使用JWT1. 获取新token2. 调用API3. 刷新token 同步发布在个人站点:https://panzhixiang.cn JWT简介 JWT(JSON Web Token)是一种流行的跨域认证解决方案。它可以在令牌中安全地传输用户身份…

文章目录

  • JWT简介
  • 在Django中使用JWT
        • 1. 安装
        • 2. 配置
        • 3. 添加认证接口
  • 客户端使用JWT
      • 1. 获取新token
      • 2. 调用API
      • 3. 刷新token

同步发布在个人站点:https://panzhixiang.cn

JWT简介

JWT(JSON Web Token)是一种流行的跨域认证解决方案。它可以在令牌中安全地传输用户身份信息,实现无状态认证机制。

优点:

  • 跨域认证,适用于分布式微服务
  • 减少数据库查询,优化性能
  • 更好的托管和扩展性

结构:

header.payload.signature
  • header 中描述签名算法等元数据
  • payload 中包含自定义用户数据,如用户名、角色等
  • signature 通过头和载荷以及密钥签名,保证完整和可验证

这一部分具体内容可以参考:https://www.bilibili.com/video/BV1Sz4y1o7E8 我以前推荐过这个教程。

通过这种方式,JWT可以将用户信息安全地在客户端和服务端传递。

在Django中使用JWT

JWT在Django有多种第三方包可以实现,我这里选择使用比较常用的simplejwt.

1. 安装
pip install djangorestframework_simplejwt
2. 配置

在settings.py中添加以下内容:

INSTALLED_APPS = [ 
# ... 
'rest_framework', 
'rest_framework_simplejwt', 
# ... 
]REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework_simplejwt.authentication.JWTAuthentication',]
}SIMPLE_JWT = {'ACCESS_TOKEN_LIFETIME': timedelta(minutes=30),'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
}

注意: 这里还需要配置REST_FRAMEWORK本身的认证相关的配置

3. 添加认证接口

我们需要为获取tokens的视图配置URLs。这些视图已经被 djangorestframework_simplejwt 提供了,我们只需将其添加到urls.py文件即可:

from django.urls import path
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshViewurlpatterns = [# ...path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),# ...
]

客户端使用JWT

1. 获取新token

发送用户名密码,获取access和refresh token:

`import requests 
url = '/api/token/' 
data = {'username': 'user1', 'password': 'secure-password'} 
response = requests.post(url, data=data) 
access_token = response.json()['access']  
refresh_token = response.json()['refresh']

保存token以供后续使用。

2. 调用API

在请求头中提供jwt token:

headers = {'Authorization': f'Bearer {access_token}'}response = requests.get('/api/user/', headers=headers)

3. 刷新token

access token过期后,使用refresh token获取新的access token:

url = '/api/token/refresh/'
data = {'refresh': refresh_token}response = requests.post(url, data=data)
new_access_token = response.json()['access']

重复步骤2,3即可使用新的token调用API。

至此,我们了解了如何在Django REST框架中集成JWT认证,实现基于token的API接口访问控制。JWT可以提供更强大的用户认证方案。

http://www.yayakq.cn/news/761157/

相关文章:

  • 如网站性质为公司 请以企业备案免备案网站主机
  • 怎么制作网站832贫困地区农副产品网络销售平台
  • 电子商务网站设计的基本流程做废品回收哪个网站好点
  • 开发网站 公司单页网站 开元
  • 西安 医疗网站制作论坛网站开发费用
  • 漳州做网站建设公司商丘网站设计
  • 做外贸网站市场分析施工企业的期间费用包括
  • 网站建立企业自建站需要注册公司吗
  • 单页网站在线制作只需要手机号的广告
  • 网站建设平台讯息常德百竞seo
  • php学多久可以做网站建站之星网站模板商城
  • 建设网站怎么加购物车网站建设公司的优势
  • 扬州市做网站哪里有培训网站开发
  • 企业网站优化关键词奢侈品电商网站首页设计
  • 北京广告网站建设企业公司网站制作
  • 江苏专业网站推广公司哪家好wordpress 分类 标签
  • 网站建设推广顾问是什么意思白云区建网站
  • 国内做轮胎网站哪家好赣州找工作最新招聘
  • 直播网站开发框架大学网站的设计方案
  • 文山城乡建设部网站首页网站建设合同内容与结构
  • 中小企业网站建设维护内容想做个电影网站该怎么做
  • 河南网站定制伪原创网站
  • 免费建设物流网站什么是网络营销概念
  • 定海区住房和城乡建设局网站如何调用网站列表页
  • 只建设电子商务网站不维护重庆找工作哪个网站好
  • 外贸型网站推广与监测WordPress中文空格
  • 广州网站制作流程如何做弹幕视频网站
  • 哪里有网站制作服务腾讯朋友圈广告投放价格
  • 网站隐私条款模板wordpress多媒体权限
  • 易语言做电影网站源码北京互联网教育公司排名