PyJWT encode 오류

suhjaesuk·2022년 11월 17일
0

Flask

목록 보기
1/1

PyJWT 구 버전을 사용할 경우 디코딩이 필요합니다.(최신 버전을 사용하는 경우 디코딩할 필요가 없으며 UTF-8에서 이미 문자열이 생성됩니다.)

저의 경우는 로컬환경에서 PyJWT 최신버전을 사용했으나 EC2는 구버전(1.7.1)을 사용하여 생긴 오류입니다.

에러 메세지 : TypeError: Object of type bytes is not JSON serializable
해결방법 : 위 코드를 아래코드로 변경하면 에러가 사라집니다. (혹은 PyJWT를 최신 버전으로 바꾸면 됩니다.)

  • token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
  • token = jwt.encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8')

자세한 설명은 아래 블로그, stackoverflow 에서 읽어보시면 좋을 것 같습니다.

Ref.
https://velog.io/@coginner_/PyJWT-버전-오류-해결
https://stackoverflow.com/questions/50104782/jwt-encode-fails-with-object-of-type-bytes-is-not-json-serializable

profile
wanna be BE-Developer

0개의 댓글