OAuth란?
728x90
 

OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다

OAuth - 위키백과

프로젝트를 하다가 로그인 기능을 수행하는 페이지를 만들어야 한다.

실제로 사용자에게서 정보를 받고.. 관리하는 것이 꽤나 번거로울 거라는 생각이 들었고,

아직 어떻게 구현하는지 또한 정확히 알지 못한다.

또한, 나도 이곳저곳 가입할 때 구글, 페이스북을 통한 로그인을 항상 사용하기에

이 기능은 꼭 필요하다는 생각이 들었다.

 

OAuth는 핵심 용어 세개가 있다.

어느 페이지를 가입할 때 그 서비스 내에 구축되어있는 회원가입이 아닌

~를 통한 로그인 기능(SNS, 구글 등을 통한 로그인)을 사용 해봤다면 대충 흐름이 이해가 갈 것이다.

client = 서드 파티 서비스(내가 구축한 서비스)

resource owner = 일반 사용자

resource server = 리소스 제공자(구글, 페이스북 등)


OAuth인증 과정은 다음과 같다.

여기서 '나'는 client다.

1. 나의 website가 리소스 제공자(구글)에게 요청토큰을 요청한다.

2. 리소스 제공자(구글)가 나의 website에게 요청토큰을 발급해준다.

3. 나의 website가 사용자를 리소스 제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.

4. 리소스 제공자가 사용자를 나의 website로 이동시킨다.

5. 나의 website가 접근토큰을 요청한다.

6. 리소스 제공자가 접근토큰을 발급한다.

7. 발급된 접근토큰을 이용하여 나의 website에서 사용자 정보에 접근한다.

320x100