본문 바로가기

TIL

TIL 042823

회원계정 삭제 시 미디어 폴더에 프로필 사진이 있다면 같이 삭제하는 방법

https://devforyou.tistory.com/entry/Django-rest-framework%EC%97%90%EC%84%9C-%EC%9C%A0%EC%A0%80-%ED%94%84%EB%A1%9C%ED%95%84-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%93%B1%EB%A1%9D-%EC%9C%A0%EC%A0%80-%EC%82%AD%EC%A0%9C%EC%8B%9C-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C-%EC%BB%A4%EC%8A%A4%ED%85%80%EC%9C%A0%EC%A0%80-%ED%94%84%EB%A1%9C%ED%95%84-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%97%85%EB%A1%9C%EB%93%9C-jwt

 

[Django] rest-framework에서 유저 프로필 이미지 등록, 유저 삭제시 파일 삭제, 커스텀유저 프로필 이

장고에서 기본으로 제공하는 유저를 커스텀하여 email을 기반으로하는 User를 만들었었다. 이제 만들었던 User에 대하여 프로필 이미지를 만들어주려고한다. 나는 지금까지 만들었던 커스텀 user에

devforyou.tistory.com


jwt 토큰 인증 방식에선 서버에서 로그아웃 시킬 수 없고

DB에 access 토큰을 저장해놓고 매번 로그아웃한 토큰인지 아닌지 확인하는 방식으로 할 수 있지만 방법 복잡

그리고 db에 저장하고 매 요청마다 확인을 하면 stateless한 jwt를 쓰는 의미가 없을 것 같다.

https://okky.kr/questions/870084

 

OKKY - jwt 토큰은 보통 어떻게 제거하나요??(로그아웃 시)

안녕하세요 신입 개발자입니다.회사에 자바를 사용하는 사람이 저밖에 없어서 여기에 자주 물어보게 되네요ㅠㅠ다름이 아니라spring security + jwt를 사용해서 회원가입 및 로그인까지는 어찌어찌

okky.kr

그래서 이것 저것 찾아보다가 두가지 방식을 더 발견했다.

 

1. 백엔드에선 access 토큰 주기를 짧게 설정. 로그아웃 X / 프론트엔드에서 로그아웃 버튼 클릭 시 localstorage의 access token을 삭제

2. access 토큰 주기 짧게 & 로그아웃 시 blacklist 패키지로 refresh 토큰 못쓰게 해버림

 

일단 그냥 장고의 logout()만 써도 login_required 데코레이터나 is_authenticated로 로그인/로그아웃을 구별할 수 있을 것 같다.

logout()과 함께 reponse.delete_cookie("jwt")/reponse.delete_cookie("refreshtoken")/request.user.auth_token.delete()를 쓰는 포스팅도 봤는데 localstorage에서 delete 됐는지 어쨌는지 모르겠지만 어쨌든 한번 발행된 access 토큰은 만료될때까지 계속 유효하다.

 

강의에서는 mockView로 포스트맨에서 로그인 상태인지 확인했었는데 access 토큰이 아직 유효하지만 로그아웃한 경우는 강의 방식으로 로그인/로그아웃 여부를 확인할 수 없다. 

 

일단 포스트맨에서 delete 요청으로 로그아웃 성공!! 메시지가 뜨는건 확인했으니 이제 그만 찾아보고 나머지 과제를 일단 먼저 해결한 후 blacklist 패키지를 공부해봐야겠다.

 

+ 장고 기초 개인 과제 해설 영상에서 로그아웃 부분만 다시 찾아봤었는데 포스트맨으로 로그인여부 확인하는 부분이 있었는지 다시 봐봐야겠다.


로그아웃 관련 링크들

https://medium.com/geekculture/register-login-and-logout-users-in-django-rest-framework-51486390c29

 

Register, Login, and Logout users in Django Rest Framework

Time to share my experience with DRF

medium.com

https://nalara12200.tistory.com/175      ---> 이 방법도 좋아 보인다.

 

[Django] 9. 로그인, 로그아웃 API 구현(JWT Token, RestFrameWork)

1. JWT, RestFrameWork, RestAuth 설치 pip install djangorestframework pip install djangorestframework-jwt pip install django-rest-auth pip install django-allauth 2. Settings.py 수정 INTALLED_APPS에 아래 내용을 추가합니다. INSTALLED_APPS = [ .

nalara12200.tistory.com

https://hyeo-noo.tistory.com/302

 

[Django] DRF를 사용한 JWT Authentication #2

이번 포스팅에서는 JWT를 생성하고 로그인,로그아웃 기능을 구현하는 방법을 정리해 보려고 한다. 로그인 로직 클라이언트는 LoginApi를 호출하면서 {"username": "이름", "password": "비번"} 정보를 전달

hyeo-noo.tistory.com

Django REST Framework 문서에서:

To logout, call the logout method as usual.

# Log out
client.logout()

https://velog.io/@masterkorea01/Django-JWT-Logout

 

Django JWT Logout

로그아웃을 호출하는 순간 클라이언트는 access 토큰을 삭제하고,refresh 토큰을 데이터로 보낸다.서버는 refresh 토큰을 블랙리스트에 저장시킨다.

velog.io

https://velog.io/@msuyun1010/%EC%A1%B8%ED%94%84-Django-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%A1%9C%EA%B7%B8%EC%95%84%EC%9B%83-API-with-JWT

 

[졸프] Django 회원가입, 로그인, 로그아웃 API with JWT

Django에서 회원가입, 로그인, 로그아웃 api 만들기- jwt 활용

velog.io

*****************************

제일 먼저 해보고 싶은 것

*****************************

https://gist.github.com/orehush/667c79b28fdc94f86746bd15694d1167

 

DRF simple JWT logout flow

DRF simple JWT logout flow. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

'TIL' 카테고리의 다른 글

TIL 050223  (0) 2023.05.02
TIL 050123  (0) 2023.05.01
TIL 042723  (0) 2023.04.27
TIL 042623  (0) 2023.04.26
TIL 042523  (0) 2023.04.25