우리가 어떤 사이트를 이용하던지 누가, 언제, 어떻게, 어떤 것을 쓰고 있는가를 파악하기 위해 인증, 인가가 있다.
인증과 인가는 API에서 가장 자주 구현되는 기능 중 하나이다.
- 인증(Authentication) : User가 누구인지 확인하는 절차. (회원가입, 로그인 등)
- 인가(Authorization) : 인증(Authentication)되어진 유저에게 권한을 허락하는 것
- 사용자의 신원을 증명하는 것
- 대표적으로 로그인이 있다.
쉽게 정리하자면,
여객선이 출발할 때, 탑승할 승객들이 항공 티켓과 여권을 통해 자신의 신분과 탑승 자격을 증명 받는것 -> "인증"
여객선 내에 특정 클래스(이코노미, 비즈니스, 퍼스트 등)에 탑승할 수 있는 자격을 부여받고 탑승하거나, 혹은 승무원과 기장이 근무하는 구역에 들어가는 것은 -> "인가"결론 : 인가를 "허락"이라는 단어로 바꾸면 두 개념이 좀 더 명확하게 와 닿지만,
비즈니스 클래스 항공 티켓
의 경우 탑승자격과 신분을 인정받는 동시에 비즈니스 클래스에 탑승할 권한이 생기므로, 인증과 인가는 동시에 일어나는 순간들이 있다.