본문 바로가기

Django/Authentication

(5)
[Django] set_cookie를 이용한 COOKIE에 Token 저장하기 (로그인 할때) 1. set_cookie 유저가 로그인에 성공하였을때, 해당 유저에게 발급되는 토큰 (access token, refresh token)이 생성된다. 이 토큰들은 cookie에 저장해야한다. HttpResponse 또는 JsonResponse에 장고에서 제공하는 set_cookie 메서드를 사용하여, cookie에 토큰 값을 실어서 보낼 수 있다. HttpResponse.set_cookie(key, value='', max_age=None, expires=None, path='/', domain=None, secure=False, httponly=False, samesite=None) 2. equest header 정보 Http request header를 출력해보면 header에는 다음과 같은 정보가 ..
[Django] DRF의 simple-jwt를 이용한 로그인 기능 구현 (1) 요즘은 DRF의 jwt 인증 부분 라이브러리를 simple-jwt를 사용한다고 한다. pyjwt 등 이전에 사용하던 jwt 인증 라이브러리는 더 이상의 업데이트가 이루어지지 않고 최근 활발히 업데이트가 되는 simple-jwt 라이브러리를 이용한 로그인 기능을 구현할 것이다. 1. simple-jwt 라이브러리 설치 및 세팅 https://smin1620.tistory.com/40 [Django] DRF의 simpleJWT https://django-rest-framework-simplejwt.readthedocs.io/en/latest/getting_started.html#usage Getting started — Simple JWT 5.1.0.post11+g58b1874 documentation © ..
[Django] DRF의 simpleJWT https://django-rest-framework-simplejwt.readthedocs.io/en/latest/getting_started.html#usage Getting started — Simple JWT 5.1.0.post11+g58b1874 documentation © Copyright 2020, David Sanders Revision 58b18740. django-rest-framework-simplejwt.readthedocs.io DRF 에서 JWT 인증에서 simple-jwt 라이브러리를 사용할 것을 권장한다고 공식 문서에 나와있다. (jwt 라이브러리는 업데이트 중지) 1. simple-jwt 라이브러리 설치 및 세팅 simple-jwt 라이브러리를 설치한다. pip instal..
[Django] DRF의 JWT Authentication Session based authentication JWT의 장점을 알기 위해서는 먼저 session based authentication을 알아야 한다. JWT를 사용하기 이전에는 주로 session을 이용한 인증이 이루어졌다. How session authentication works session 인증 과정 클라이언트에서 사용자의 인증 정보를 서버에 전달합니다. 서버는 인증을 처리한 뒤 해당 user에 대해 session을 생성합니다. session 정보는 서버에 저장되고, 클라이언트는 session id를 받아 브라우저에 저장합니다. 클라이언트는 이후 이루어지는 요청에 session id를 이용합니다. 서버는 전달 받은 session id를 이용하여 저장 중인 session 정보로 인증을 처리합니..
[Django] DRF의 Token Authentication DRF Authentication DRF의 인증은 여러가지의 방법이 있다. BasicAuthentication, TokenAuthentication, SessionAuthentication 등등.. SessionAuthentication 세션을 통한 인증 웹 프론트엔드와 장고가 같은 호스트를 쓴다면 세션 인증 사용 가능 (ex. nginx) Django의 default이며, 외부 서비스에서는 세션 인증 불가능 BasicAuthentication Basic 인증 헤더를 통한 인증 Django의 default이며, 외부 서비스에 매번 username과 password를 넘기는 것은 보안상 위험하다. test 에 적합한 인증 방식 TokenAuthentication Token 헤더를 통한 인증 username..