get: 정보 조회 (read)
post: 정보 업로드(create)
put: 정보수정(update)
delete: 정보 삭제(delete)
models.py에 models.Model을 상속해 클래스를 생성하고 charfield, integerfield 등등을 사용해 테이블을 설계한다.
만들어진 테이블은 python manage.py makemigration 명령어로 migration 파일을 생성한뒤 python manage.py migrate로 반영한다.
해킹에 취약해지기 때문에 유저정보를 다룰 수 있는 비밀번호는 해싱, 암호화해서 저정한다. SHA-256표준 해시 알고리즘을 사용한다.
토큰 기반의 유저 식별 인증 방법.
사용자 인증에 필요한 정보를 토큰에 포함한다. 따라서 별도의 인증 저장소가 필요하지 않음.
jwt토큰은 token을 가지고 있다는 것을 제외하면 클라이언트 본인이 맞는지 확인할 수단이 없다. 따라 어떤 의미에서는 보안이 취약한데 이를 보안해주는 것이 refresh token의 존재이다.
어느 시점이 지나면 access token의 기간이 만료되고 대신 리프레시 토큰을 발급받아서 token을 유지할 수 있게한다.