[Django] 로그인 시 에러 경우의 수

Choi Rim·2021년 7월 25일
0

Django

목록 보기
11/21
post-thumbnail

로그인 시 필요한 정보 => 이메일(사용자 계정), 비밀번호

1. 이메일(사용자 계정)이 존재하지 않는 경우

if not User.objects.filter(email=data['email']).exists():
          return JsonResponse({"MESSAGE":"INVALID_USER"}, status=401)
  • User 객체에 입력한 email과 일치하는 email이 없을 경우 401 에러 반환

2. 이메일은 존재하나 비밀번호가 불일치할 경우

user_info = User.object.get(email=data["email"])

        if user_info.password != data["password"]:
          return JsonResponse({"message":"INVALID_USER"}, status=401) 
  • 입력한 email 정보가 포함된 User.objects 정보를 user_info에 저장하고 user_info의 password와 사용자가 입력한 password가 일치하지 않을 시 401 에러 반환

3. 이메일이나 비밀번호 형식이 맞지 않는 경우

  • 이메일 형식에 맞지 않는 경우 일치하는 이메일 찾을 수 없으므로 INVALID_USER 에러 반환
  • 비밀번호 형식에 맞지 않는 경우 유저 이메일의 비밀번호와 일치하지 않으므로 INVALID_USER 에러 반환

4. 데이터(이메일, 비밀번호)가 전달되지 않았을 경우

except:
        return JsonResponse({"MESSAGE":"KEY_ERROR"}, status=400)
  • except문에 의해 KEY_ERROR 발생
profile
https://rimi0108.github.io/

0개의 댓글