복원이 불가능한 단방향 해쉬 함수
솔트값과 해쉬값과 돌리는 반복횟수를 같이 보관한다.
비밀번호에 솔트 쳐서 해싱한다.
쿠팡같은데서
주문목록 api는 계정 로그인이 되어 되어야 볼 수 있다.
이렇게 해당 권한이 있는지 확인하는 절차가 request
http는 stateless한 성질이 있어서, 뭐 누를때마다 다시 로그인해야됨
( 원래라면!)
그걸 해결하는 방법이 json web token ( JWT )
헤더스에 특정 메타데이터를 보낸다. (데이터를 설명할수있는 데이터를 메타데이터라고함)
jwt 구조는 헤더
,내용
,서명
헤더
의 내용은 인코딩 (암호화는 아님, 그래서 개인정보 같은건 들어가면 안된다 이것만 알면됨) 해서 첫 부분(헤더)에 기록된다.
내용
은
user id이런거는 그 서비스 안에서만 있는 pk기 때문에 보여줘도 됨
자유이용권이라고 보면 되는데
만료기간이 꼭 있어야함 아니면 평생쓰니까.
바이오정보 주민번호 이런거 넣으면 안됨
헤더와 내용은 암호화가 아니라 인코딩이다.
서명
우리서버에서 발급한 토큰인지 알 수 있는 부분
위조되지 않았는지 확인
인코딩된 헤더와 내용을 암호화해서 보낸다. 근데 이 암호화할때 썼던 시크릿 키가 뭔지를 같이 저장해서 보내서, 서버에서 복호화할 수 있음.