2022년 9월 21일 개발일지
2022. 9. 21. 08:57 - DoosanBaek
@app.route('/')
def home():
token_receive = request.cookies.get('mytoken')
try:
payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256'])
user_info = db.user.find_one({"id": payload['id]})
except jwt.ExpiredSignatureError:
return redirect(url_for("login", masg = "로그인 시간 만료."))
except jwt.exceptions.DecodeError:
return redirect(url_for("login", msg= "로그인정보가 존재하지 않습니다."))
Today I learn
1. jwt 형식의 로그인
token_receive = request.cookies.get('mytoken')
토큰을 가저온다.
쿠키 -> 브라우저에 저장되는 정보 (임시저장) 키:벨류 형태(딕셔너리형태)로 저장
payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256']
payload 를 꺼낸다. (암호화된 값을 decoding해서)
id를 꺼내서,
user_info = db.user.find_one({"id": payload['id]})
해당하는 user_info가 db에 있으면 넘겨주고,
except jwt.ExpiredSignatureError:
return redirect(url_for("login", masg = "로그인 시간 만료."))
except jwt.exceptions.DecodeError:
return redirect(url_for("login", msg= "로그인정보가 존재하지 않습니다."))
없을경우에 로그인 정보가 존재하지 않는다는 메시지를 리턴
로그인 시간이 지났을 경우는 로그인 시간이 만료되었다는 메시지를 리턴
'TIL' 카테고리의 다른 글
AWS EC2에 Redis server 설치하기 (우분투에 레디스 서버 설치하기) (0) | 2022.11.11 |
---|---|
컬렉션 프레임워크 (1) | 2022.09.26 |
2022년 9월 23일 금요일 개발일지 (0) | 2022.09.23 |
22.09.19~ 22.09.22 미니 프로젝트 회고 (0) | 2022.09.22 |
2022년 9월 22일 목요일 개발일지 (0) | 2022.09.22 |
2022-09-20 화요일 (0) | 2022.09.20 |
2022년 09월 19일 개발일지 (0) | 2022.09.19 |
2022-09-17 (0) | 2022.09.17 |