OAuth
하나의 세션동안 사용자의 신원을 확인하여 인증하는 것을 말합니다. 인증 방식으로는 다음과 같은 것들이 있습니다.
- 기본인증(ID/PW)
- 토큰 인증
- 전자 서명
흔히 애플리케이션에서 사용자의 신원을 확인하기 위해 ID와 PW를 이용한 기본 인증방식을 사용합니다. 일반적으로 로그인 == 사용자 인증으로 오해하고 있는데, 로그인은 사용자 인증의 한 방식일 뿐입니다. 그러나 기본 인증 방식은 보안에 매우 취약한 구조이기 때문에 다른 대안들이 떠오르고 있는데 OAuth가 그 중 하나입니다. OAuth는 위의 인증방식 중 토큰 인증 방식을 사용합니다.
대부분 서비스는 자체적으로 기본인증을 바탕으로 한 사용자 인증 방식을 개발하고 있습니다. 그렇게 되면 서비스마다 다른 인증방식을 사용하게 되는데 OAuth는 이처럼 서비스마다 제각각인 인증 방식을 표준화한 인증방식이라고 할 수 있습니다.
자신의 애플리케이션에서 사용자 인증을 하기 위해 다른 애플리케이션의 사용자인증방식을 하도록 인가하는 것이 OAuth입니다. OAuth는 사용자 인증 프로토콜이 아닌, 인가 프로토콜입니다.