OAuth란? (Open Authorization)

suno·2023년 3월 26일
0
post-thumbnail

OAuth란?

OAuth는 Open Authorization의 약자로, 사용자의 로그인 자격 증명이나 패스워드 등 중요한 정보를 노출하지 않고, 다른 웹사이트 상의 자신들의 정보에 접근할 수 있도록 하는 개방형 표준 권한 부여 프로토콜입니다.

OAuth는 Google, Facebook, Twitter, GitHub 등 많은 웹사이트에서 사용됩니다. 사용자가 다른 웹사이트에 대한 리소스 액세스 권한을 부여하고, 언제든 액세스 권한을 취소할 수 있는 안전하고 편리한 방법을 제공합니다.

OAuth 인증은 클라이언트와 사용자의 액세스 권한을 관리하는 권한 부여 서버 간에 토큰을 교환하여 수행합니다.

OAuth의 장점

OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 아이디-비밀번호를 사용하는 기본 인증을 사용했는데, 이는 보안상 취약할 가능성이 높았습니다.

OAuth는 제각각인 인증 방식을 표준화하여 OAuth를 사용하는 애플리케이션끼리는 별도의 인증 없이 통합하여 사용할 수 있게 되었습니다.

OAuth 인증 과정

OAuth인증은 소비자(클라이언트 웹사이트)와 서비스 제공자(OAuth를 제공하는 웹사이트) 사이에서 일어나는데 이 인증 과정은 다음과 같습니다.

  1. 소비자가 서비스 제공자에게 요청 토큰을 요청한다.
  2. 서비스 제공자가 소비자에게 요청 토큰을 발급해준다.
  3. 소비자가 사용자를 서비스 제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.
  4. 서비스 제공자가 사용자를 소비자로 이동시킨다.
  5. 소비자가 접근 토큰을 요청한다.
  6. 서비스제공자가 접근 토큰을 발급한다.
  7. 발급된 접근 토큰을 이용하여 소비자에서 사용자 정보에 접근한다.

Reference
https://ko.wikipedia.org/wiki/OAuth

profile
Software Engineer 🍊

0개의 댓글