Django jwt 的使用

本文介绍了如何在Django项目中集成JWT进行身份验证,包括在INSTALLED_APPS中添加'rest_framework.authtoken',配置JWT验证,以及创建和验证用户token。同时,文章详细讲解了JWT的原理、数据结构和特点,强调了JWT在无状态服务器中的作用以及安全性注意事项。
摘要由CSDN通过智能技术生成

1、在INSTALLED_APPS中加入’rest_framework.authtoken’,

INSTALLED_APPS = [
‘’’
‘rest_framework.authtoken’, #
‘’’
]

2、配置jwt验证

REST_FRAMEWORK = {
# 身份认证
‘DEFAULT_AUTHENTICATION_CLASSES’: (
‘rest_framework_jwt.authentication.JSONWebTokenAuthentication’,
‘rest_framework.authentication.SessionAuthentication’,
‘rest_framework.authentication.BasicAuthentication’,
),
}

import datetime

JWT_AUTH = {
‘JWT_AUTH_HEADER_PREFIX’: ‘JWT’,
‘JWT_EXPIRATION_DELTA’: datetime.timedelta(days=1),
‘JWT_RESPONSE_PAYLOAD_HANDLER’:
‘users.views.jwt_response_payload_handler’, # 重新login登录返回函数
}
AUTH_USER_MODEL=‘users.User’ # 指定使用users APP中的 model User进行验证
settings.py 配置使用JWT

from django.contrib import admin
from django.urls import path,re_path,include

urlpatterns = [
path(‘admin/’, admin.site.urls),
re_path(r’users/’,include((‘users.urls’,‘users’),namespace=‘users’))
]

urls.py

#! /usr/bin/env python

-- coding: utf-8 --

from django.urls import path,re_path,include
from users import views
from rest_framework_jwt.views import obtain_jwt_token # 验证密码后返回token

urlpatterns = [
path(‘v1/register/’, views.RegisterView.as_view(), name=‘register’), # 注册用户
path(‘v1/login/’, obtain_jwt_token,name=‘login’), # 用户登录后返回token
path(‘v1/list/’, views.UserList.as_view(), name=‘register’), # 测试需要携带token才能访问
]

users/urls.py

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
username = models.CharField(max_length=64, unique=True)
passw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值