Flask에서 cookie(쿠키)를 사용하는 방법에 대하여 간략하게 알아보려고 합니다.


# Flask에서 cookie 사용하기
최근 jwt를 사용하면서 cookie 값을 불러와 사용할 필요가 있었습니다. 이런 경우 쿠키값을 접근하기 위한 방법입니다. 먼저 flask에서 cookie를 얻기 위해서는 아래와 같이 flask의 request에 접근해야 합니다.
from flask import request

사실 request는 서버에 요청 온 다양한 정보들에 접근이 가능합니다. 즉, cookie 뿐만 아니라 url이나 파리미터, 파일 등등 여러 정보를 모두 얻을 수 있습니다. 여기서 쿠키값을 불러오기 위해서는 아래와 같이 request의 cookies에서 get() 함수를 사용할 수 있습니다.

request.cookies.get('cookie_name')

그럼 실제로 클라이언트에서 서버로 tkn 이름의 쿠기를 전달한 경우 해당 값을 가져오는 방법을 알아봅니다.


! flask 토큰값 사용하는 예제
아래의 함수 getToken()은 쿠키값을 가져오기 위한 예제 코드입니다. 만약 tkn이라는 토큰이 있을 때 이를 flask 서버에서 가져오기 위하여 작성된 코드입니다.
from flask import request

def getToken():
  try:
    token = request.cookies.get('tkn')
    tokenDecode = jwt.decode(token, SECRET_KEY, algorithms=['HS267'])
    ....
  except:
    ## Error
    ...

위 예제에서는 에러 등 예외 처리를 위해서 try except 구문을 사용하였습니다. 코드를 간단히 살펴보면 아래와 같습니다.

- 토큰값을 가져오기 위해 flask의 request를 import
- request.cookies.get()을 사용하여 토큰값을 변수 token에 저장
- (참고) 변수 token을 jwt 모듈을 사용하여 디코딩하여 사용
- (참고) try catch를 사용하여 예외 처리



여기까지 flask에서 토큰값을 가져오는 방법에 대하여 간략하게 알아보았습니다.