zoukankan      html  css  js  c++  java
  • rest_framework_jwt 身份认证

    Django学习第十六天

    前后端分离项目中,通常使用jwt(Json-Web-Token)的形式用于验证用户是否登录,而不使用session和cookie的形式。

    安装JWT

    python有众多的第三方模块,其中必然也有jwt的相关模块,使用pip即可下载

    pip install rest_framework_jwt
    

    配置JWT

    模块下载完后,需要在setting文件中进行配置

    REST_FRAMEWORK = {
    
        # 认证
        'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
            'rest_framework.authentication.SessionAuthentication',
            'rest_framework.authentication.BasicAuthentication',
        ),
    }
    JWT_AUTH = {
        'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),  # 有效期
    }
    

    使用JWT

    在app的路由中设置

    from rest_framework_jwt.views import obtain_jwt_token
    
    urlpatterns = [
        url(r'^login/', obtain_jwt_token),
    ]
    

    在使用之前需确定user模型需继承django自带的用户认证系统AbstractUser才可以使用。因在obtain_jwt_token的源码中使用的是authenticate来验证用户是否存在。

    测试

    使用postman进行测试
    测试结果
    验证成功返回token值。

    遇到的坑

    注册的用户需使用User.objects.create_user进行注册,不然无法验证通过

    笔者目前才刚刚开始django的学习,如有错误之处,请大牛见谅指出

  • 相关阅读:
    Oracel基础知识
    64位系统运行32位Oracle程序解决方案
    Oracle 级联删除
    string转DateTime(时间格式转换)
    vs2013 内置IIS Express相关问题
    小马哥课堂-统计学-置信区间(2)
    小马哥课堂-统计学-置信区间
    小马哥课堂-统计学-标准误差
    小马哥课堂-统计学-中心极限定理
    python之histogram
  • 原文地址:https://www.cnblogs.com/big-cabbage/p/10300359.html
Copyright © 2011-2022 走看看