티스토리 뷰

Django의 JWT 설정은 다음 문서를 참조

 

Django REST framework JWT

From here you can search these documents. Enter your search terms below.

jpadilla.github.io

(참고) settings.py의 기본 authentication class에 JSONWebTokenAuthentication 을 추가한다.

 

(참고) urls.py에 username과 password를 담아 POST 요청이 왔을 때, token을 얻기 위해 (생성하기 위해) api-token-auth 경로를 추가한다.

 

 

Refresh token 

지정한 기한이 지나면 만료되지 '않은' 토큰이 새로운 토큰으로 교체된다.

기존의 토큰을 리프레시 엔드포인트에 추가한다. 

이 리프레시 토큰을 사용하면 유저가 계속 로그인 상태를 유지할 수 있다.

페이지를 로드할 때 마다 만료기한에 가까워진 토큰이 있는지 확인하고, 있다면 새 것으로 교체해 연장하는 것이다.

설정해보자.

공식문서가 하란대로.. 

 

setting.py에 설정하였다.

1. 토큰 만료시간은 5분으로 설정(디폴트값)

2.  5분 내로 페이지가 새로 로드되면 계속해서 토큰이 갱신되고, 최대 7일까지 가능(디폴트값)하다.

 

 

JWT SECRET TOKEN

JWT SECRET TOKEN이 멀쩡하게 settings.py에 들어있어서 당황했다. 프로젝트가 끝나고..알게된 사실.. 어서 업데이트 하자.

이걸 숨기기 위해 python decouple 라이브러리를 사용하였다.

상수값을 코드로부터 분리하는 기능이라고 한다.

스택오버플로우에 나온대로 사용하여 숨겼다.

 

.. 에러가 발생했다. 

인식이 안된다. 디버깅 해도 원인을 알기 어려웠다. 

다른 방법을 사용. 

https://wayhome25.github.io/django/2017/07/11/django-settings-secret-key/

 

Django - settings.py 의 SECRET_KEY 변경 및 분리하기 · 초보몽키의 개발공부로그

Django - settings.py 의 SECRET_KEY 변경 및 분리하기 11 Jul 2017 | python Django settings secret key Two Scoops of Django 5장을 읽고 연습한 내용을 정리한 글입니다. 더 좋은 방법이 있거나, 잘못된 부분이 있으면 편하

wayhome25.github.io

 

참고자료

 

hiding secret key in django project on github after uploading project

I uploaded my django project on github and I have a lot of commits on my project. I don't want to delete my project and reupload it again. what is the easiest way to hide secret key after uploading

stackoverflow.com

 

Storing Credentials Separately with Object Storage in Django | DigitalOcean

Python Decouple is a Python library aimed at making it easier for developers to separate their configuration settings from code. Originally designed for Django, it is now a generic Python tool for storing parameters and...

www.digitalocean.com

 

댓글