많은 사람들이 사용가능한 애플리케이션으로 구현

→ 인증 매커니즘 구현

REST API 인증 기법

Basic 인증

상태가 없는 REST API 에서 인증하기 위한 가장 간단한 방법 → 모든 HTTP 요청에 아이디와 비번을 같이 보냄 ⇒ Basic 인증!

최초 로그인 후 HTTP 요청 헤더 (Authorization)에 아이디와 비번 콜론으로 이어붙인 후 인코딩한 문자열 보냄

문제점

  1. 아이디, 비번 노출되므로 패킷 가로채면 아이디와 비번 알아낼 수 있음
  2. 유저를 로그아웃 시킬 수 없음
  3. 사용자의 계정 정보가 있는 저장장소 DB 과부하 가능성이 높음 ( 한 요청마다 인증을 해야하기 때문)

토큰 기반 인증

최초 로그인시 서버가 토큰 만들어주고, 이후 요청에 아이디, 비번 대신 토큰을 넘겨 인증된 사용자임을 알림

서버는 토큰을 저장해 인증요청 받을 때마다 서버의 토큰과 비교함

→ 아이디, 비번 계속 전송할 필요 없으므로 보안 좋음

→ 사용자의 인가정보를 유효기간 정해 관리가 가능

하지만 토큰 정보 가져오면 결국 인증없이 사용 가능함…

JSON 웹 토큰