OAuth는 인가
를 위해 생겨났다.
유저가 인증을 하고 권한은 서비스가 갖는다.
OAuth의 풀네임은 **O**pen **Auth**orization
• 자신이 소유한 리소스에 소프트웨어 애플리케이션이 접근할 수 있도록 허용해 줌으로써 접근 권한을 위임해주는 개방형 표준 프로토콜 → 접근 권한을 위임
(Delegated Authorization)
• 기존 아이디/비번 인증 구조는 보안상 취약할 가능성이 높았다.
용어 정리 - 생선가게 서비스 기준
Kakao
**는 소셜 로그인, 친구 목록 조회, 메시지 보내기 등 다양한 API를 제공하는 리소스 서버 역할을 합니다.생선가게 소비자
**가 리소스 오너입니다.생선가게
웹사이트나 앱이 클라이언트가 될 수 있으며, 사용자가 생선가게 사이트에서 카카오 계정으로 로그인하려고 할 때 이 클라이언트를 통해 인증 과정이 진행됩니다.카카오 자체의 인증 서버
**가 이 역할을 합니다.사용자
가 로그인에 성공한 후 클라이언트
에게 전달되는 일회용 코드입니다. 이 코드는 클라이언트가 리소스 서버로부터 액세스 토큰을 얻기 위해 사용됩니다.클라이언트
가 리소스 서버에 접근
할 때 필요한 토큰입니다. 이 토큰을 사용하여 클라이언트는 사용자의 데이터에 접근하거나 사용자를 대신하여 작업을 수행할 수 있습니다.리소스의 범위
를 정의합니다. 예를 들어, 사용자의 이메일 주소, 프로필 정보, 친구 목록 등 특정 데이터에 대한 접근 권한을 제한할 수 있습니다.응답을 보내는 주소
입니다. 이 URI는 클라이언트가 미리 등록해야 하며, 보안을 위해 인증 서버에서 이 주소를 검증합니다.Authorization Code Grant 방식