Ошибка DRF: объект 'str' не имеет атрибута 'decode'
Я создаю login api с использованием JWT в django, но получаю ошибку:
-
'str' object has no attribute 'decode'
,
если я удаляю decode('utf-8')
, то я получаю токен в ответ, но этот токен, когда я использую другой api, то получаю
Ошибка:-
Given token not valid for any token
.
views.py
class LoginApiview(APIView):
def post(self,request):
user_name=request.data['user_name']
password=request.data['password']
user=EmpUser.objects.filter(user_name=user_name).first()
if user is None:
raise AuthenticationFailed('User not found')
payload ={
"id":user.id,
"exp":datetime.datetime.utcnow() + datetime.timedelta(days=1),
"iat":datetime.datetime.utcnow(),
"user_name":user.user_name
}
token=jwt.encode(payload,'secret',algorithm='HS256').decode('utf-8')
return Response({"message": "login sucessfully","error":False,"code":200,"results":{"token":token}},status=HTTP_200_OK)