首页 > 其他分享 >7.接口文档,JWT介绍

7.接口文档,JWT介绍

时间:2024-08-14 21:04:57浏览次数:13  
标签:res base64 JWT 接口 token 文档 docs

【一】接口文档

1)公司使用

2)主要内容如下

  • 说明
  • 变更记录
  • 全局错误
  • 相关接口
    • 简要描述
    • 请求URL
    • 请求方式
    • 参数
    • 返回示例
    • 返回参数说明
    • 备注

3)字段生成(coreapi使用)

  • 安装

    pip install coreapi
    
  • 主路由内注册

    from rest_framework.documentation import include_docs_urls
    urlpatterns = [
        path('docs/', include_docs_urls(title='智慧社区项目')),
    ]
    
  • 视图类内写注解

    class BookModelViewSet(ModelViewSet):
        '''
        get:
        单行图书信息,
        
        post:
        添加图书
        '''
        queryset = Book.objects.all()
        serializer_class = BookModelSerializer
    
  • 全局配置 异常处理

    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
    
  • 访问路径

    http://localhost:8000/docs
    

【二】JWT介绍

1)介绍

  • 与使用session机制,来存储记录用户登录信息
  • JWT(Json Web Token):常用于认证,是一个前端登录认证的方案,为token的一种方式

2)token认证机制

签发阶段:

  • token有三部分,每部由base64编码,在由.组合成字符串

    • 头部:一般为固定的信息,如公司信息、加密方式等

    • 荷载:真正的数据部分(用户id、名称、过期时间、签发时间等)

    • 签名:头部+荷载,并使用某种加密方式得到的字符串

  • 直接返回给前端,前端拿到后存到响应位置

    • web:存到cookie中

认证阶段:

  • 后端接收到前端携带在请求头中的token,进行校验
    • 将头部、荷载使用相同的方式加密
    • 在将其与拿到的token进行校验

【三】base64

import base64
import json

eg = {'name': 'ST1'}

# 编码
res = base64.b64encode(json.dumps(eg).encode())
print(res)  # b'eyJuYW1lIjogIlNUMSJ9'

# 解码
res = base64.b64decode(res).decode('utf-8')
print(res)  # {"name": "ST1"}

标签:res,base64,JWT,接口,token,文档,docs
From: https://www.cnblogs.com/Mist-/p/18359779

相关文章

  • 基于SpringBoot+VUE的学生心理咨询评估系统(源码+文档+部署)
    主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论......
  • openGauss怎么工作SQL函数接口读取逻辑解码结果?
    功能描述在openGauss中如果实现数据复制呢?可以通过数据迁移工具定期向目标数据库进行数据库的同步,说的定期,这就意味着这种方式不能满足数据实时复制的需求。在openGauss中为我们提供了逻辑解码功能,工作原理就是反解xlog,从而生成逻辑日志,在目标数据库中通过对逻辑进行解析......
  • 身份实名认证-身份证实名认证-身份证实名-实名认证-身份证二要素-身份证实名认证-身份
    身份证实名认证快证API接口,通常指的是一种用于快速验证用户身份证信息的接口服务。这种接口主要用于身份证二要素(姓名和身份证号码)的官方实名核验,通过实时联网技术对接权威数据源,迅速准确地验证用户身份证信息的真实性。以下是对该接口的详细解析:一、接口功能核心功能:验证用......
  • Delphi编程艺术:注释技巧与文档自动化
    标题:Delphi编程艺术:注释技巧与文档自动化引言在Delphi开发中,注释和文档生成是编写可维护代码的基础。Delphi支持多种注释方式,同时提供了工具和方法来自动化文档的生成。本文将详细介绍Delphi中的注释类型,以及如何使用Delphi生成Word文档等自动化文档的技巧。Delphi中的注......
  • SSM基于的物流系统4x007 带论文文档1万字以上
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:快递员,业务员,车辆信息,申请车辆,归还车辆,发货信息,派件信息,区域编号,仓库货物,合作伙伴,物流信息,目的仓库,派件确认,仓库编号,快递员考核,业务员考......
  • SSM基于的社区疫情防控管理信息系统的设计与实现khjit 本系统(程序+源码+数据库+调试部
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:居民,核酸检测,检测预约,检测记录,健康上报,出入信息,物品申请,物品派送开题报告内容一、课题背景与意义随着全球新冠疫情的持续蔓延,社区疫情防控成为......
  • JAVA毕业设计|ssm高校宿舍管理系统的设计与开发jsp包含文档代码讲解
    收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示 基于ssm高校宿舍管理系统的设计与开发jsp开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:ssm283一、系统展示二、万字文档展示第......
  • JAVA毕业设计|(免费)ssm实验室管理与排课系统包含文档代码讲解
     收藏点赞不迷路 关注作者有好处编号:ssm458ssm实验室管理与排课系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven文末获取源码(免费领源码)1.系统展示2.万字文档展示第5章系统详细设计最后对选题、开题、毕设开......
  • JAVA毕业设计|(免费)基于ssm的星巴克咖啡店管理系统包含文档代码讲解
     收藏点赞不迷路 关注作者有好处编号:ssm449基于ssm的星巴克咖啡店管理系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven文末获取源码(免费领源码)1.系统展示2.万字文档展示第5章系统详细设计5.1管理员角色功能设计......
  • JAVA毕业设计|(免费)基于SSM的蛋糕甜品店管理系统的设计与开发jsp包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:ssm544基于SSM的蛋糕甜品店管理系统的设计与开发jsp开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven文末获取源码(免费|领源码)1.系统展示2.万字文档展示第5章系统详细设计5.1个人中......