7장 인증(authentication)
- sign-up 엔드포인트를 통해서 사용자 가입
- id/password 데이터베이스에 저장 - 비밀번호는 암호화해서 저장한다.
- 로그인에 성공하면 access token을 클라이언트에게 전송.
- 사용자의 비밀번호를 암호화할때는 단방향 해시 함수가 일반적으로 쓰인다.(복호화 불가능)
파이썬에 해당함수 모듈이 포함되어있다.
import hashlib
- 원본 비밀번호값을 1만 증가시켰을지라도 해시함수로 암호화한 비밀번호값은 완전히 다르다.
avalanche effect : 입력값에 미세한 변화를 줄 경우 출력값에 상당한 변화가 일어나는 성질
bcrypt
salting과 키 스트레칭을 구현한 함수중 가장 널리 사용되는 해시함수.
pip install bcrypt
access token
JWT(Json Web Tokens)
access token을 생성하는 방법 중 가장 널리 사용되는 기술. 데이터 전송 및 검증이 가능하다.
- header
토큰 타입과 해시 알고리즘을 지정.
- payload
실제로 서버간에 전송하고자 하는 데이터 부분. 민감한 정보는 넣지 않는 것이 좋다. 암호화되지 않는 코드기때문.
- signature
jwt가 원본 그대로라는 것을 확인할 때 사용.
'Books > about dev' 카테고리의 다른 글
[깔끔한 파이썬 탄탄한 백엔드] 8장 unit test🔍 (0) | 2020.04.29 |
---|---|
[깔끔한 파이썬 탄탄한 백엔드] 4장 HTTP의 구조 및 핵심 요소 (0) | 2020.03.24 |
[HTTP 완벽가이드] 3, 4장 (0) | 2020.03.21 |
[깔끔한 파이썬 탄탄한 백엔드]3장 첫 API 개발 시작 (0) | 2020.03.20 |
[깔끔한 파이썬 탄탄한 백엔드] 1장 개발 환경 구성 (0) | 2020.03.19 |