djangorestframework-simplejwtA JSON Web Token authentication plugin for the Django REST Framework.项目地址:https://gitcode.com/gh_mirrors/dj/djangorestframework-simplejwt
Django REST framework SimpleJWT 是一个基于 Django REST framework 的 JSON Web Token (JWT) 认证插件。它提供了简单易用的 JWT 认证机制,使得在 Django REST framework 中实现 JWT 认证变得非常方便。SimpleJWT 支持多种 JWT 标准,包括 HS256 和 RS256 算法,并且提供了丰富的配置选项,以满足不同场景的需求。
首先,你需要安装 Django 和 Django REST framework。然后,通过 pip 安装 SimpleJWT:
pip install djangorestframework djangorestframework-simplejwt
在你的 Django 项目的 settings.py
文件中,添加以下配置:
INSTALLED_APPS = [
...
'rest_framework',
'rest_framework_simplejwt',
...
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
}
在你的应用中创建一个视图,用于处理 JWT 认证:
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework_simplejwt.tokens import RefreshToken
from rest_framework.permissions import IsAuthenticated
class ObtainTokenView(APIView):
def post(self, request):
username = request.data.get('username')
password = request.data.get('password')
user = authenticate(username=username, password=password)
if user:
refresh = RefreshToken.for_user(user)
return Response({
'refresh': str(refresh),
'access': str(refresh.access_token),
})
return Response({'error': 'Invalid credentials'}, status=400)
class ProtectedView(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
return Response({'message': 'This is a protected view'})
在你的项目的 urls.py
文件中,添加以下 URL 配置:
from django.urls import path
from .views import ObtainTokenView, ProtectedView
urlpatterns = [
path('token/', ObtainTokenView.as_view(), name='token_obtain'),
path('protected/', ProtectedView.as_view(), name='protected'),
]
最后,运行 Django 开发服务器:
python manage.py runserver
现在,你可以通过访问 /token/
路径获取 JWT 令牌,并通过访问 /protected/
路径测试认证保护的视图。
SimpleJWT 可以广泛应用于需要安全认证的 Web API 项目中。例如,一个电商平台的后端服务可以使用 SimpleJWT 来保护用户数据的访问,确保只有经过认证的用户才能访问敏感信息。
SimpleJWT 可以与以下生态项目结合使用,以构建更强大的 API 服务:
通过这些生态项目的结合,可以构建出功能全面、安全可靠的 Web API 服务。
djangorestframework-simplejwtA JSON Web Token authentication plugin for the Django REST Framework.项目地址:https://gitcode.com/gh_mirrors/dj/djangorestframework-simplejwt