인증과 인가 구분하기
인증은 영어로 Authentication이고, 인가는 영어로 Authorization이다. 로그인이나 권한 관리 쪽을 개발자가 아니면 자주 사용되지 않은 용어이고, 한글과 영어로 표기와 의미도 비슷하기 때문에 간혹 혼동하기도 한다.
동료들과 협업을 할 때 커뮤니케이션 미스가 발생되지 않도록 단어 풀이를 통해 명확히 의미를 이해해 보자.
인증
인증은 한자로 認(알 인) + 證(증거 증)을 조합으로 만들어졌다. 풀이로는 "어떤 행위가 정당한 절차로 이루어졌는 것을 기관을 통해서 증명했다"라는 의미이다.
인증은 영어로 Authentication이다. Authentication은 "인증된"이라는 의미의 Authentic의 명사인데, Authentic를 풀어쓰면 Auto(스스로) + hen(무언가를 해서) + tic(확실한 상태)를 조합해서 만들어졌다.
서비스에서 비유해 보면 "인증받은 사용자만 접근 가능한 페이지"라고 했을 때, 이 의미는 "로그인 한 사용자만 접근 가능한 페이지"를 의미한다.
인가
인가 한자로 認(알 인) + 可(옭을 가)를 조합으로 만들어졌다. 풀이로는 "인정하여 허가한다"는 의미이다.
인가는 영어로 Authorization이다. Authorization은 "권위를 부여하다, 위임하다"이라는 의미의 Authorize의 명사인데, Authorize를 풀어쓰면 author + ize를 조합해서 만들어졌다.
서비스에 비유해 보면 "인가받은 사용자만 접근 가능한 채널"은 "채널 접근 권한을 가진 사용자만 접근 가능한 채널"의미하고, "인가 안된 사용자"는 "로그인 되었는데 접근 권한 없는 사용자"라고 해석하면 된다.