zoukankan      html  css  js  c++  java
  • Vue学习笔记rest_framework_jwt 学习

    一  使用环境  

      开发系统: windows

      后端IDE: PyCharm 

      前端IDE: VSCode 

      数据库: msyql,navicat

      编程语言: python3.7  (Windows x86-64 executable installer)

      虚拟环境: virtualenvwrapper

      开发框架: Django 2.2

    二  Vue学习笔记Django-rest_framework_jwt 学习

    Django-rest_framework_jwt 是 Django-rest_framework 第三方写的jwt,不等同于jwt.

    流程:

    1,用账号密码登录接口,登录接口逻辑中调用签发的token算法,得到token,返回给客户端,客户端自已存到cookies中

    2.校验token的算法应该写在认证类中(在认证类中调用),全局配置给认证组件,所有视图类请求,都会进入认证校验,所以请求带了token,就会反解出user对象,在视图类中用request.user就可以访问登录用户

    注:登录接口需要做认证+权限局部禁用

    三  Django-rest_framework_jwt 

    • 三段:头,荷载(用户信息),签名
    • 使用:最简单方式(在路由中配置),path("login/",obtain_token)
    • 自定制:多方式登录,手动签发token(两个方法:jwt_payload_handler,jwt_encode_handler)
    • 自定制基于jwt的认证类
    •   -取出token
    •   -调用jwt提供的解析出payload的方法(校验是否过期,是否合法,如果合法,返回荷载信息)
    •   -转成user对象
    •   -返回

    1.按装配置 rest_framework_jwt

    pip install djangorestframework-jwt

    settings.py

    INSTALLED_APPS = [
        'django.contrib.admin',# admin依赖
        'django.contrib.auth',# admin依赖
        'django.contrib.contenttypes',# admin依赖
        'django.contrib.sessions',# admin依赖
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'rest_framework',  # 按装包:djangorestframework
        'rest_framework_jwt',  # 按装包:djangorestframework-jwt
        'corsheaders',  # 跨域设置4-(1-2):按装,注册跨域包(django-cors-headers),中间件中注册
        'A001qyyh.apps.A001QyyhConfig',
        'A002ywxx.apps.A002YwxxConfig',
    ]
  • 相关阅读:
    Java数据类型
    实验报告三及总结
    第四周课程总结及实验报告二
    第三周课程总结及实验报告一
    第一次Java学习总结
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
  • 原文地址:https://www.cnblogs.com/djtang/p/13882523.html
Copyright © 2011-2022 走看看