- 토큰 : 서버가, 각각의 클라이언트를 누군지 정확히 구별할 수 있도록,유니크한 정보를 담은 암호화 데이터.
- OAuth 2.0(Open Authorization 2.0, OAuth2)란 표준 인증 프로토콜이며, OAuth는 인증(authentication)에 대한 프로토콜로 사용자의 ID와 비밀번호 없이도 접근 권한을 위임 받을 수 있는 표준 인증 프로토콜이고 다른 웹사이트(구글, 네이버, 카카오 등)에서 제공하는 API를 이용하여 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용된다.
- Swagger : 애플리케이션의 RESTful API 문서를 자동으로 구성하는 특수 도구
OAuth 2.0
OAuth 2.0은 인터넷 사용자가 웹사이트나 애플리케이션에서 다른 서비스의 자원에 접근할 수 있도록 허용하는 개방형 표준 프로토콜입니다. 이 프로토콜을 사용하면 사용자가 자신의 비밀번호를 공유하지 않고도 서드파티 애플리케이션에게 제한된 자원 접근 권한을 부여할 수 있습니다.
OAuth 2.0은 다음과 같은 네 가지 주요 역할을 정의합니다:
- 리소스 소유자(Resource Owner): 일반적으로 서비스를 사용하는 최종 사용자를 의미하며, 자신의 데이터에 접근 권한을 부여할 수 있습니다.
- 리소스 서버(Resource Server): 사용자의 데이터를 호스팅하는 서버로, OAuth 2.0 토큰을 사용하여 접근 권한을 검증합니다.
- 클라이언트(Client): 사용자의 대리인으로서, 사용자가 소유한 리소스에 접근하려는 애플리케이션 또는 웹사이트입니다.
- 인증 서버(Authorization Server): 클라이언트에게 접근 토큰을 발급하는 서버입니다. 이 토큰을 사용하여 리소스 서버에서 보호하는 리소스에 접근할 수 있습니다.
OAuth 2.0 프로세스는 대략 다음과 같이 진행됩니다:
- 클라이언트가 사용자에게 인증을 요청합니다.
- 사용자가 클라이언트에게 인증 권한을 부여합니다.
- 클라이언트는 사용자로부터 받은 인증 권한을 인증 서버에 제출하여 접근 토큰을 요청합니다.
- 인증 서버는 클라이언트에게 접근 토큰을 발급합니다.
- 클라이언트는 이 토큰을 사용하여 리소스 서버에서 리소스에 접근합니다.
- 리소스 서버는 토큰을 검증하고 요청된 리소스에 대한 접근을 허용합니다.
OAuth 2.0은 다양한 애플리케이션에서 널리 사용되며, 사용자 데이터의 보안과 개인 정보 보호를 강화하는 데 중요한 역할을 합니다.