JWT保存状态

本文介绍了如何使用JWT(JSON Web Tokens)来保持登录状态。JWT由头部、载荷和签证三部分组成,其中头部包含类型和算法信息,载荷则存放用户身份数据。配置JWT涉及安装相关库、设置参数、URL配置、过期时间设定、接口认证以及前端请求头的添加等步骤。
摘要由CSDN通过智能技术生成

登录

1、JWT保持状态
JWT的组成

jwt的设置分为三部分:头部、载荷、以及签证

  • 头部

jwt的头部固定为两个值部分typ和alg,这里的头部数据就是一个json串,两个字段是必须的,不能多也不能少,alg字段指定了签证生成的算法,默认值是HS256,type字段指明类型

{
“typ”: “JWT”,
“alg”: “HS256”
}

  • 载荷

载荷是一个json数据,是表明用户身份的数据,也可自行指定字段很灵活,也有固定字段表示特定含义

如果是自定义的字段,一般是一些用户名,用户id等相关不敏感的用户信息

如果是固定字段,那么可以参考使用如下这些

  • 签证

把前面两部分的内容通过加密算法+密钥加密后得到的一个字符串

  • header (base64后的)
  • payload (base64后的)
  • secret

这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分。

将这三部分用.连接成一个完整的字符串,构成了最终的jwt:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

2.JWT配置

1.安装DRF,JWT

pip install djangorestframework-jwt 

2.在settings配置

REST_FRAMEWORK = {
   
    "DEFAULT_AUTHENTICATION_CLASSES":("rest_framework_jwt.authentication.JSONWebTokenAuthentication",)  # 全局设置的方法,也可在单个视图中设置
}

3.在url中添加响应路径

from rest_framework_jwt.views import obtain_jwt_token
urlpatterns = [
    path("login/",obtain_jwt_token)<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值