在Django JWT Auth和Vue中,可以通过以下步骤来检查用户是否在Vue中登录:
/api/check-login
。django-rest-framework-simplejwt
来处理JWT令牌的验证和解码。可以在视图函数中导入该库,并使用其中的jwt_decode_handler
函数来解码JWT令牌。以下是一个示例的Django视图函数代码:
from rest_framework_simplejwt.authentication import JWTAuthentication
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view(['GET'])
def check_login(request):
try:
# 使用JWTAuthentication验证请求中的JWT令牌
authentication = JWTAuthentication()
user, _ = authentication.authenticate(request)
# 如果用户存在于数据库中,则表示用户已登录
if user is not None:
return Response({'message': 'User is logged in.'})
else:
return Response({'message': 'User is not logged in.'})
except:
return Response({'message': 'Invalid JWT token.'})
在Vue中,可以使用axios发送GET请求到上述的/api/check-login
URL,并根据响应来判断用户是否已登录。
请注意,以上代码仅为示例,实际实现中可能需要根据具体情况进行适当的修改和调整。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云云函数(SCF)可用于部署Django应用程序和API,腾讯云数据库(TencentDB)可用于存储用户数据,腾讯云CDN可用于加速前端资源的传输。具体产品介绍和链接地址请参考腾讯云官方网站。
领取专属 10元无门槛券
手把手带您无忧上云