【发布时间】:2025-12-30 19:25:16
【问题描述】:
如何在Simple JWT 身份验证中验证 JWT 令牌。如果令牌访问令牌已过期,我需要验证用户何时发送请求,以便将他重定向以刷新令牌。
serializers.py
class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
def validate(self, attrs):
# The default result (access/refresh tokens)
data = super(CustomTokenObtainPairSerializer, self).validate(attrs)
# Custom data you want to include
data.update({'email': self.user.email})
data.update({'id': self.user.id})
data.update({'status':"success"})
# and everything else you want to send in the response
return data
views.py
class CustomTokenObtainPairView(TokenObtainPairView):
# Replace the serializer with your custom
serializer_class = CustomTokenObtainPairSerializer
urls.py
from rest_framework_simplejwt.views import TokenRefreshView, TokenVerifyView
urlpatterns = [
path('token/', views.CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
path('token/verify/', TokenVerifyView.as_view(), name='token_verify'),
]
urlpatterns = format_suffix_patterns(urlpatterns)
【问题讨论】:
-
你能解释一下你有什么问题吗?代码有什么问题吗?
-
我需要在简单的 jwt 身份验证中添加一个中间件,因此用户第一次登录 je 会收到一个访问令牌和一个刷新令牌,并且当 je 尝试添加一个新的发布,他在请求中发送访问令牌,我需要先验证令牌是否未过期,如果过期则我将他重定向到刷新令牌端点,否则,他可以添加帖子,我需要这样做在简单的 jwt 中使用仅 http cookie,我搜索了很多,但我不知道我是否可以使用这个库来完成
标签: python django django-rest-framework jwt django-middleware