User Authentication - part1

Jade J·2021년 1월 24일

Flask Blog Project.

목록 보기
6/7

: 유저가 인풋한 패스워드를 그대로 저장한다면 엄청난 security risk 일것이다. 그래서 encryption을 해줘야 한다. 여기서는 flask 의 내장된 encryption인 flask-bcrypt 를 사용한다. flask_bycrpt flask extension document


    1. form 에서 bcrypt 로 validate_on_submit
    • python 셸로 들어간후 from flask_bcrypt import Bcrypt 후에 객체를 생성, 그리고 generate_password_hash()로 hashed password만들기를 시도한다. bcrypt 는 생성된 해쉬코드를 check_password_hash()로 체크한 후에, true or false 를 리턴한다.

      bycrpt in use

    • init.py 에 임포트한다.

      import bycrpt wrapper to init.py

    • 이제 routes.py 모듈에서 register 에 encrypted password 를 validate 하는 과정을 조건문으로 작성하여 준다. validated 되면 sqlalchemy 함수로 DB 에 새로운 유저데이터가 추가된다.

      routes.py

      문제없이 추가된다면 아래와같은 부트스트랩 메세지가 뜨며 login 으로 redirect 된다.

      registration succcess

      만약 생성된 계정 정보로 다시 register 하려하면 sqlalchemy 오류가 난다. 왜냐면 register 함수에서 오류처리를 하지 않았기 때문이다.

      flask debugger page

      localhost:5000 에서 이런 flask 의 디버거 페이지를 볼수있다. 여기서 오른쪽에 팝업되는 콘솔아이콘을 누르면 파이썬 인터프리터를 불러와서 보기쉽게 디버깅을 할수가 있다.

      flask debugger console in use

profile
개발의 길을 걷자

0개의 댓글