외부서비스의 인증 및 권한 부여를 관리하는 범용적인 프로토콜
- 권한 : 인증뿐만 아니라 권한도 관리한다. 사용자의 권한에 다라 접근할 수 있는 데이터가 다르도록 설정 가능
한 가지 명심해야할 점은, 클라이언트 ↔ 서버 인증 절차였던 세션/쿠키, 토큰 기반 인증 방식을 완전히 대체하는게 아님
즉 SNS 로그인 기능을 넣더라도 결국은 세션/쿠키 방식이나 토큰을 활용해 인증을 거쳐야 함
2.0
바뀐 점
- 모바일 어플리케이션에서도 사용이 용이
- 반드시 HTTPS를 사용하기에 보안이 강화
- Access Token의 만료기간이 생김
인증 방식
- Authorization Code Grant (가장 많이 쓰임)
- Implicit Grant
- Resource Owner Password Credentials Grant
- Client Credentials Grant
동작 순서

- Resource Owner : User, 즉 일반 사용자
- Client : 그 클라이언트가 아님, 어플리케이션 서버를 지칭