OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.
예시)
Third party Application에 아이디와 비밀번호를 제공하고 싶지 않은 요구가 첫번째이다. 개인정보를 여러 곳에 입력하면서 피싱에 둔감해지고 무엇보다 Application이 안전하다는 보장이 없기 때문에 보안에 취약했다. 당시에는 인증과 권한을 부여하는 요구를 만족 시킬 수 있는 인증방식이 없어서 Twitter의 주도로 OAuth 1.0이 탄생하였다.
비밀번호 인증방식의 문제
유저(User), 컨슈머(Consumer), 서비스 프로바이더(Service provider)로 구성되어 아래와 같이 인증이 진행된다.
그런데 OAuth 1.0은 구현이 복잡하고 웹이 아닌 어플리케이션에서의 지원이 부족했다. HMAC를 통해 암호화를 하는 번거로운 과정을 겪어야 하며, 또한 인증토큰(Access token)이 만료되지 않는다.