OAuth 2.0

원도훈·2024년 11월 19일
1

OAuth 2.0이란 무엇인가요?

OAuth 2.0은 타사 서비스가 사용자 정보를 안전하게 접근할 수 있도록 권한을 부여하는 인증 및 인가 프로토콜입니다. 예를 들어, 사용자가 카카오나 네이버 계정으로 로그인하면 이들 서비스가 사용자 정보를 제공하는 대신, 안전하게 그 정보를 사용할 수 있도록 권한을 부여합니다. OAuth 2.0은 많은 서비스에서 사용되며, 특히 소셜 로그인에서 매우 유용합니다.

OAuth 2.0의 구성 요소

  1. 리소스 소유자(Resource Owner): 사용자를 의미합니다. 사용자가 자신의 정보를 제3자 애플리케이션에 공유할 수 있는 권한을 가지고 있습니다.

  2. 클라이언트(Client): 사용자의 정보를 접근하고자 하는 애플리케이션입니다.

  3. 인증 서버(Authorization Server): 리소스 소유자로부터 권한을 부여받기 위한 서버로, 권한을 부여하고 토큰을 발급합니다.

  4. 리소스 서버(Resource Server): 사용자 정보를 제공하는 서버입니다. 클라이언트는 인증된 접근 토큰을 사용해 리소스 서버에 접근합니다.

OAuth 2.0의 흐름 과정

  1. 인증 요청: 클라이언트는 사용자가 권한을 부여할 수 있도록 인증 서버에 권한 요청을 보냅니다.

  2. 사용자 승인: 리소스 소유자인 사용자는 클라이언트가 자신의 리소스에 접근하는 것을 승인합니다.

  3. 인가 코드(Authorization Code) 발급: 사용자가 승인을 완료하면 클라이언트는 인증 서버로부터 인가 코드를 받습니다.

  4. 액세스 토큰 발급: 클라이언트는 인가 코드를 인증 서버에 보내 액세스 토큰을 발급받습니다.

  5. 리소스 서버에 접근: 클라이언트는 액세스 토큰을 이용해 리소스 서버에 접근하고, 사용자 데이터를 받아옵니다.

인가코드(Authorization Code)란 무엇인가요?

인가 코드는 사용자가 승인한 후에 클라이언트에게 전달되는 일회성 코드입니다. 클라이언트는 이 코드를 사용하여 액세스 토큰을 발급받게 되며, 사용자가 아닌 클라이언트와 인증 서버 사이에서 직접 주고받는 것이기 때문에 보안성을 유지할 수 있습니다.

profile
개발

0개의 댓글