1. 상황
- 로컬에서 테스트 성공한 코드가 aws 배포시에 에러 발생 : typeError
2. 원인
- jwt로 만든 데이터(토큰)를 복호화하는 과정에서 decoding 처리를 하지않아 해당 데이터를 json으로 인식하지 못함.
3. 해결 방법.
- 복호화하는 과정에서 decoding 처리
.decode('utf-8')
해당 코드를 디코딩 처리 코드 뒤에 붙여줌
-------------------------------------------------------------------------------------------------------------------------------
5.15
인코딩 방식에 대한 의문점으로 서버 자체에 utf-8 설정을 잡아주면 해결되지 않을까 하여 찾아봄.
서버 utf-8 설정 잡아주는 방법 :
참고 블로그 : https://chucoding.tistory.com/63
utf-8 설정을 잡아준 후 해당 문제에 대해서 해결이 되는지 확인 후 추가 글 작성 예정
-------------------------------------------------------------------------------------------------------------------------------
5.17
문제 해결 !!!!!!@@@@@@@@@@
원인 1 :
jsonify는 데이터가 딕셔너리로 왔을때 json으로 바꿔주는 아이
jsonify가 문자열이나 숫자는 바꿀 수 있음.
but, jwt인코드 결과(token)가 문자열이 아니라 bytes class 객체로 되어있음
print(type(token))
## <class 'bytes'>
원인 2 :
서버의 PyJWT 버전(PyJWT==1.7.1)이 최신 버전이 아니어서 토근 변환 시 string 타입이 아닌 byte으로 설정 된 것.
해결 방법 :
PyJWT 버전 업데이트 (PyJWT==2.4.0) -- 문제 원인 해결 !!
** 해결 방법을 찾던 중 임시방편격 해결방법 또한 찾음
str로 감싸주어 형변환 시켜도 해결은 됨.
token = str(jwt.encode(payload, SECRET_KEY, algorithm='HS256'))
'프로그래밍 > 개발이슈' 카테고리의 다른 글
Connection refused, Timeout: 30s 디비 연결 에러 (0) | 2022.05.19 |
---|---|
pymongo.errors.OperationFailure: Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication fai 'codeName': 'AuthenticationFailed'} (0) | 2022.05.17 |
AWS EC2 MongoDB 연결 IP 바꾸면 접속 안되는 에러 (0) | 2022.05.12 |
codeDeploy 배포 에러 - 상세 로그 확인방법 (0) | 2022.05.12 |
bad indentation of a mapping entry / 빌드에러 / 자동배포 에러 (0) | 2022.05.12 |