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',
    ]
  • 相关阅读:
    url 编码与解码
    调硬件开门
    JsBridge 开灯关灯
    滚动条样式
    uni-app 组件传值及插槽
    Eapp 调接口及跳转
    uni-app 的基础格式
    Eapp 几个弹框
    flexible 移动端适配
    mongodb恢复备份
  • 原文地址:https://www.cnblogs.com/djtang/p/13882523.html
Copyright © 2011-2022 走看看