본문 바로가기
[Django] JWT token 이용한 User 식별 (Authentication, Token Verify) JWT 개념 🪙 공식 문서 session 방식은 서버에서 로그인 관련 정보를 관리, 요청이 들어왔을 때 탐색한다. → 불필요한 스토리지 탐색 생긴다. JWT는 토큰 자체에 유저의 정보를 담고 있기 때문에 별도의 데이터 및 저장 공간이 필요하지 않는다. JWT의 구조 xxxxx.yyyyy.zzzzz (헤더.페이로드.시그니처) 헤더 Header Header는 JWT의 메타 정보를 나타낸다. 토큰의 타입을 정의하고 어떤 signing 알고리즘이 쓰였는지 나타낸다. 이러한 JSON 정보는 Base64Url 방식으로 인코딩 되어 JWT의 첫번째 영역에 들어간다. { "typ": "JWT", "alg": "HS256" } 페이로드 Payload 토큰의 만료 시간, 유저 정보 등 실질적 데이터를 담는 영역이다. 유저.. 2022. 11. 27.
'BasePermissionMetaclass' object is not iterable 에러 urls.py와 view.py를 잘 작성했는데 이런 에러가 났다. 머선일인가 싶어 바로 구글링 때렸다. permission_classes를 정의할 때 튜플에 ,를 안 넣어주면 안 되는 모양이다? 내 views.py를 봤더니 정말 콤마가 빠져있었다. 콤마를 넣어주면 잘 작동한다. 콤마 넣기 싫으면 대괄호 쓰면 된다. [] 안에는 콤마 안 넣어도 잘만 작동하더라. 참고자료 Django REST Framework: 'BasePermissionMetaclass' object is not iterable Python/Django n00b moving over from javascript. Trying to add an API endpoint using Django REST Framework which I'm ho.. 2022. 11. 20.
[Django] 카카오 로그인 "detail": "Authentication credentials were not provided." 에러 문제 REST API Kakao 연동 로그인 개발 중 계속해서 제대로 된 url에 접속했는데도 저런 에러가 떠서 테스트조차 할 수 없는 상황이었다. 해결 permission_classes = [] 를 넣어주니 해결이 된다. 로그인 과정이므로 인증되지 않은 사용자도 접근할 수 있게 허가를 해줬어야 하는데 그러지 않아서 생긴 문제로 보인다. 기억을 되짚어보니 카카오 로그인을 이해하기 위해 참고했던 다른 블로그의 코드에도 AllowAny 같은 permission classes가 있었던 것 같다.... # views.py from rest_framework.permissions import IsAuthenticated class KakaoSignInView(APIView): permission_classes =.. 2022. 11. 18.