9.02.2020

Flask로 session 이용해서 가입, 로그인 기능 구현하기

 

로그인 기능을 구현할 때 쿠키 또는 세션이 필요한 이유

  • HTTP의 connectionless(모든 연결이 독립적임)와 stateless(연결에 대한 정보를 저장하지 않음)의 속성 때문이다.
  • 따라서 쿠키나 세션이 없으면 페이지를 이동할 때마다 다시 로그인 해야 한다.

쿠키

  • 사용자 브라우저에 저장되는 작은 데이터 파일을 말한다.
  • 유효시간에 대한 데이터가 포함되어서 브라우저를 닫아도 살아 있을 수 있다.
  • 클라이언트 쪽에 저장되고 브라우저를 닫아도 살아 있을 수 있기 때무에 빠르고 편하다는 장점이 있지만 보안에 취양하다는 단점이 있다.

세션

  • 서버 측에 정보를 저장하고 세션 ID를 담은 쿠키를 주고 받는 방식이다.
  • 세션 ID는 해당 클라이언트의 고유한 ID를 말한다.
  • 서버 측에 정보를 저장하여 쿠키보다 느리고 서버 리소스를 잡아 먹지만, 보안상 더 우수한 장점이 있다.
  • 따라서 로그인 등 보안적으로 중요한 기능에 사용된다.

P.S. 그 밖에 JWT(JSON Web Token)을 사용할 수도 있다.

아래 침고링크들을 읽고 난 후 repl.it에 Flask로 샘플 로그인 기능을 만들어 보았다. 완벽하진 않지만 Flask에서 어떻게 session을 이용하여 login 기능을 구현하는지 감을 잡을 수 있었다.


참고링크

쿠키와 세션 개념

API - Flask Documentation (1.1.x)

[Flask] Session 사용해서 로그인,로그아웃 심플예제

https://www.youtube.com/watch?v=2Zz97NVbH0U

PrettyPrinted/youtube_video_code

Quickstart - Flask Documentation (1.1.x)


Share:

0 comments:

댓글 쓰기