мой код принимает Reques.body и в data var. и если данные di c в имени пользователя, адресе электронной почты или телефона, то проверка пароля. и если пароль будет собран, я верну токен. но мой код просто передает все, если. Я думаю, что если @ in di c это может проверить ключ в di c
, я использовал http ie и отправил пароль и телефон, электронную почту или имя пользователя. но все проходят.
Я не знаю, в чем я ошибаюсь. пожалуйста, помогите мне!
class UserLoginView(View):
def post(self, request):
data = json.loads(request.body)
check_password = int(data['password'])
check_username = 'username'
if check_username in data:
login_username = data['username']
login_user = User.objects.filter(username=login_username)
if login_user is None:
return JsonResponse({'message':'have not this ussername User'}, status = 400)
elif login_user is login_username:
get_user = User.objects.get(username=login_username)
if check_password is not get_user.password:
return JsonResponse({'message':'Not collect password'}, status = 400)
else:
encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
return JsonResponse({'token':encoded_token}, status = 200)
elif 'email' in data:
login_email = data['email']
login_user = User.objects.filter(email=login_email)
if login_user is None:
return JsonResponse({'message':'have not this emain User'}, status = 400)
elif login_user is login_email:
get_user = User.objects.get(email=login_email)
if check_password is not get_user.password:
return JsonResponse({'message':'Not collect password'}, status = 400)
else:
encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
return JsonResponse({'token':encoded_token}, status = 200)
elif 'telephone' in data:
login_telephone = data['telephone']
login_user = User.objects.filter(telephone=login_telephone)
if login_user is None:
return JsonResponse({'message':'have not this telephone User'}, status = 400)
elif login_user is login_telephone:
get_user = User.objects.get(telephone=login_telephone)
if check_password is not get_user.password:
return JsonResponse({'message':'Not collect password'}, status = 400)
else:
encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
return JsonResponse({'token':encoded_token}, status = 200)
return JsonResponse({'message':'Nothing do'}, status = 200)