: 세션기반 인증의 부담을 덜어주기 위해.
토큰기반인증은 클라이언트에서 인증정보를 보관하는 방법으로 고안됨!
: 토큰은 유저 정보를 암호화한 상태로 담을 수 있고
암호화했기 때문에 클라이언트에 담을 수 있다.
json web token, json 포맷으로 사용자에 대한 속성을 저장하는 웹 토큰.
구조 aaaaaa.bbbbbb.cccccc
어떤 종류의 토큰인가?
어떤 알고리즘으로 암호화 하는가?
유저의 정보(중요한 정보 안닫는게 좋다),
권한을 부여받았는가?, 기타 필요한 정보
header, payload를 base64인코딩한 값과 salt값의 조합으로 암호화된 값
:서버는 클라이언트에 대한 정보를 저장할 필요x
: 토큰을 헤더에 추가함으로 인증절차 완료
: 암호화 한 토큰을 사용
: 암호화 키를 노출 할 필요x
: 토큰을 생성하는 서버가 꼭 토큰을 만들지 않아도 됨
: 토큰의 payload(내용물)안에 어떤 정보에 접근 가능한지 정의
사진과 연락처 사요권한 부여, 사진권한, 연락처 부여.