RESTful JSON API 용어

  • 토큰 : 서버가, 각각의 클라이언트를 누군지 정확히 구별할 수 있도록,유니크한 정보를 담은 암호화 데이터.
  • OAuth 2.0(Open Authorization 2.0, OAuth2)란 표준 인증 프로토콜이며, OAuth는 인증(authentication)에 대한 프로토콜로 사용자의 ID와 비밀번호 없이도 접근 권한을 위임 받을 수 있는 표준 인증 프로토콜이고 다른 웹사이트(구글, 네이버, 카카오 등)에서 제공하는 API를 이용하여 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용된다.
  • Swagger  :  애플리케이션의 RESTful API 문서를 자동으로 구성하는 특수 도구

OAuth 2.0

OAuth 2.0은 인터넷 사용자가 웹사이트나 애플리케이션에서 다른 서비스의 자원에 접근할 수 있도록 허용하는 개방형 표준 프로토콜입니다. 이 프로토콜을 사용하면 사용자가 자신의 비밀번호를 공유하지 않고도 서드파티 애플리케이션에게 제한된 자원 접근 권한을 부여할 수 있습니다.

OAuth 2.0은 다음과 같은 네 가지 주요 역할을 정의합니다:

  1. 리소스 소유자(Resource Owner): 일반적으로 서비스를 사용하는 최종 사용자를 의미하며, 자신의 데이터에 접근 권한을 부여할 수 있습니다.
  2. 리소스 서버(Resource Server): 사용자의 데이터를 호스팅하는 서버로, OAuth 2.0 토큰을 사용하여 접근 권한을 검증합니다.
  3. 클라이언트(Client): 사용자의 대리인으로서, 사용자가 소유한 리소스에 접근하려는 애플리케이션 또는 웹사이트입니다.
  4. 인증 서버(Authorization Server): 클라이언트에게 접근 토큰을 발급하는 서버입니다. 이 토큰을 사용하여 리소스 서버에서 보호하는 리소스에 접근할 수 있습니다.

OAuth 2.0 프로세스는 대략 다음과 같이 진행됩니다:

  1. 클라이언트가 사용자에게 인증을 요청합니다.
  2. 사용자가 클라이언트에게 인증 권한을 부여합니다.
  3. 클라이언트는 사용자로부터 받은 인증 권한을 인증 서버에 제출하여 접근 토큰을 요청합니다.
  4. 인증 서버는 클라이언트에게 접근 토큰을 발급합니다.
  5. 클라이언트는 이 토큰을 사용하여 리소스 서버에서 리소스에 접근합니다.
  6. 리소스 서버는 토큰을 검증하고 요청된 리소스에 대한 접근을 허용합니다.

OAuth 2.0은 다양한 애플리케이션에서 널리 사용되며, 사용자 데이터의 보안과 개인 정보 보호를 강화하는 데 중요한 역할을 합니다.