유저 정보로 서비스의 회원인지 아닌지를 입증하는 과정이다. 서비스 뿐만아니라 API도 마찬가지이다.
API를 호출하는 대상을 확인하는 절차 필요 → API 인증
인증을 바탕으로 사용자가 리소스를 요청했을 경우 해당 사용자가 그 리소르를 사용할 권한이 있는지 체크하는 과정이다.
HTTP의 무상태성 때문에 이 방법들을 사용한다. 무상태성은 비연결성에서 파생되었다.
클라이언트와 서버가 한번 연결하면, 맺었던 연결을 끊어버린다. 그래서 서버가 같은 클라이언트한테 연속 요청을 보내도 같은 클라리언트라는 인식 없이 응답을 보낸다. 즉, 로그인 기능에 맞지 않는다. 그래서 이를 극복한 것이 인증과 인가이다.
인증하기 → Request Header 이용
인증 유지하기 → Broswer 이용
안전하게 인증 → Server 이용
효율적 인증 → Token
다른 채널 → OAuth 이용
클라이언트 → 서버
사용자 정보를 Request Header에 인코딩 형태로 담아서 서버에 인증을 요청한다. (인코딩은 브라우저가 처리)
서버 → DB
서버는 디코딩한 후 DB에 접근
DB → 서버
OK 응답
단점
위의 두 번째 단점을 해결하기 위한 방법이다. 한 번 로그인을 할 경우, 어떠한 방식에 의해 그 사용자에 대한 인증이 유지되면 된다. 그것이 쿠키이다.
쿠키
브라우저 로컬 스토리지에 저장되는 key:value로구성되며 string으로 이루어진 작은 데이터 파일이다.