23.1.1.2 토큰 기반 인증 시스템
이번에는 토큰 기반 인증 시스템에 대해 알아봅시다. 토큰은 로그인 이후 서버가 만들어 주는 문자열입니다. 해당 문자열 안에는 사용자의 로그인 정보가 들어 있고, 해당 정보가 서버에서 발급되었음을 증명하는 서명이 들어 있습니다.
서명 데이터는 해싱 알고리즘을 통해 만들어지는데, 주로 HMAC SHA256 혹은 RSA SHA256 알고리즘이 사용됩니다.
▲ 그림 23-2 토큰 기반 인증 시스템
서버에서 만들어 준 토큰은 서명이 있기 때문에 무결성이 보장됩니다. 여기서 무결성이란 정보가 변경되거나 위조되지 않았음을 의미하는 성질입니다. 사용자가 로그인을 하면 서버에서 사용자에게 해당 사용자의 정보를 지니고 있는 토큰을 발급해 주고, 추후 사용자가 다른 API를 요청하게 될 때 발급받은 토큰과 함께 요청하게 됩니다. 그러면 서버는 해당 토큰이 유효한지 검사하고, 결과에 따라 작업을 처리하고 응답합니다.