소팡팡 2022. 1. 16. 14:10

 JWT 에러 

 

 

로그인 구현을 위해 JWT를 공부하고 기본코드를 따라서 실행시키는 과정에서 에러가 생겼다 

    token = jwt.encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8')
AttributeError: 'str' object has no attribute 'decode'

 

해결

pyjwt기존 버전에서는 jwt.encode()함수의 리턴값이 '바이트문자열' 자료형이었기 때문에 뒤에 .decode('utf-8')을 붙여 일반 문자열 (str)으로 바꿔줘야 했으나 2.0.0버전부터는 이 함수의 리턴값이 일반 문자열이 되었기 때문에 여기에 .decode('utf-8')을 붙여주게 되면 str값을 두번 출력해라는 명령이 되서 에러가 난 것이었다

 

 

 

 JWT 에러2 

 

python에서 jwt를 설치를 했음에도 모듈 encode속성이 없다고 에러가 뜨는 경우

Error : AttributeError : module 'jwt' has no attribute 'encode'

 

파이썬 JWT와 PyJWT가 같이 설치되는 경우로 pyJWT 대신 JWT가 실행되어 에러가 발생한다

pyJWT를 설치하면 정상 작동한다.