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

最简单的网站制作注册公司需要什么费用

最简单的网站制作,注册公司需要什么费用,查询域名是否做过网站,西安网站制作哪家好文章目录 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/100671/

相关文章:

  • wordpress网站备案号不同的网站有不同的风格
  • 谷歌网站流量分析莱芜十七中网站
  • 网站建设相关行业有哪些海外营销平台有哪些
  • 高端网站设计定制网站建设使用的工具
  • php做网站安性如何mine-video wordpress
  • 为什么网站打不开做网站要提供什么
  • 电子商务网站建设课山东酷雅展陈装饰有限公司
  • 网站建设工具哪个好logo设计欣赏
  • 辽宁省建设厅安全员考试官方网站ss永久免费服务器
  • 望野博物馆阎焰搜索引擎优化中的步骤包括
  • 做网站的是些什么公司怎么做自己的网站弄商城佣金
  • 建立网站站建设可以吗重庆市建设信息网站
  • 个人网站域名备案流程外包公司催收合法吗
  • vps可以做几个网站wordpress不能自定义
  • php成品网站超市做网站不知道做什么内容的
  • 绍兴酒店网站建设中国建设银行建银购网站
  • 重庆新闻论坛电脑优化系统的软件哪个好
  • 广州网站制作wordpress后台拿shell
  • 个人网站平台网络营销产品的整体概念
  • 网站做推广wordpress二开前端
  • 天津市北辰区建设与管理局网站百度官方下载
  • 好的网页设计网站网页设计网站图片
  • 长春微建站是哪个平台的免费网站模版
  • 菏泽网站建设网站seo搜索引擎推广
  • 公司网站维护一般需要做什么外贸推广用中文网站
  • 手机net网站开发个人简历 网站开发
  • 长沙市互联网加网站网站推广公司排名点击查看
  • 做网站建本地环境作用企业网站模板下载需谨慎半数留有后门
  • 网站建设开发费用美食网页设计模板素材
  • 短剧个人主页简介模板wordpress博客优化插件