개념
- Open Authorization 2.0
- 인증을 위한 개방형 표준 프로토콜
- 기존 인증방식은 서버에서 인증을 직접 처리하는데, 이로인해 서버의 오버헤드가 증가하고 서버 성능이 떨어지게 되는 문제를 개선하기위해 나온게 OAuth 2.0 인증방식
- 기존 인증방식(서버에서 직접)과 달리 인증을 중개해주는 방식
- 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다.
- 리소스 소유자를 대신하여 리소스에 접근할 수 있는 권한을 대신 부여하는 방식
- 각 플랫폼별로 OAuth 2.0 인증을 받아야 함
- 구글 로그인을 구현할거면 구글 인증 등록
- 클라이언트 ID와 클라이언트 시크릿 발급
- 주로 API등을 사용하는데 OAuth 2.0 인증을 한다.
한줄 요약
- OAuth 2.0은 앱에서 유저의 구글, 카카오 등의 정보를 필요로 할 때, 유저가 직접 앱에 구글 ,카카오의 계정 정보를 입력하는 것은 위험하므로 인증 기관을 통해 인증을 받고 앱에게 넘긴다.
- 앱은 유저의 구글 등의 계정 정보를 모르는 채로 구글의 접근 권한을 획득하게 된다.
역할
- Resource Owner : 리소스란, 개인정보를 의미, 리소스 소유자란, 개인정보의 주인 즉, 유저를 의미.
- Client : 보호된 자원을 사용하려고 접근 요청하는 애플리케이션(앱)
- Resource Server : 사용자의 보호된 자원을 호스팅하는 서버(구글, 네이버, 페이스북 등)
- Authorization Server : 인증/인가를 수행하는 서버

OAuth 2.0 작동 방식