raise InvalidSignatureError('Signature verification failed')
jwt.exceptions.InvalidSignatureError: Signature verification failed
여기 에러가 발생하면 ,
secret_key 를 우선적으로 봐야함.
secret_key 에러일 가능성이이 높다.
https://blog.miguelgrinberg.com/post/json-web-tokens-with-public-key-signatures
https://dev.to/smotko/prefer-model-doesnotexist-over-objectdoesnotexist-in-django-4lb3
에대한 글을 보면 ,
Django 에서 ObjectDoesNotExist 보다 Model.DoesNotExist 를 더 선호 한다고 나와있다.
try:
user = User.objects.get(pk=1337)
phone = Team.objects.get(pk=1337)
except ObjectDoesNotExist:
logging.error("User or Team does not exist")
ObjectDoesNotExist 은 데이터베이스에서 인증에서 user , phone 이 존재하지 않을때 잡는 예외처리이다.
이것을 좀더 좋은 방법이 있는데 ,
모델클래스에서 DoesNotExist 예외처리를 하면 된다.
try:
user = User.objects.get(pk=1337)
phone = Phone.objects.get(pk=1337)
except User.DoesNotExist:
logging.error("User does not exist")
except Phone.DoesNotExist:
logging.error("Phone does not exist")
이방법이 더 좋은 이유는 두가지가 있는데 ,
두개의 except 블록은 보다 명확해졌으며 특정 모델이 존재하지 않을 때만 예외를 포착한다.
이것은 사소한 것이지만 ObjectDoesNotExist 를 현재 범위로 가져왔는지 여부는 걱정할 필요가 없다.
뭐든지 예외처리는 명시적 프로그래밍이 더 유용하다 .
좋은 글 감사합니다!
그런데 혹시 "이것은 사소한 것이지만 ObjectDoesNotExist 를 현재 범위로 가져왔는지 여부는 걱정할 필요가 없다." 라는게 어떤 의미인가요??