Knowledge

[Knowledge] Oauth란? Oauth 기본 개념

Jeong Jeon
반응형

OAuth란?

 

네이버, 카카오 로그인을 사용한다 했을때 우리는 이것을 우리 프로젝트에 잘 녹여내어야 한다.

고객이 카카오 로그인을 사용했다고 가정했을때, 우리는 카카오에서 관리하는 모든 정보를 알수는 없지만, 일부 정보를 카카오에게 받아서 사용할 수 있어진다.

우리가 카카오에 등록되있는 아이디와 비밀번호를 아는것은 아주 큰 문제이기 때문에 돌려서 사용한다고 생각하면 쉬울 것 같다.

 

 

OAuth의 핵심은 Access Token이다.

Access Token을 이용해, 이 토큰값과 관련된 고객의 정보를 우리는 카카오에 요청 => 카카오는 서비스는 이 토큰을 검증하고, 발급된게 맞다면 => 고객의 정보를 우리서비스에 넘겨주는 방식이다.

 

 

Redirect

HTTP에는 리다이렉트 메시지가 존재한다. 

리다이렉트를 이용하면, 

고객이 로그인을 하고, 카카오에서 다시 우리 서비스로 리다이렉트 시켜주는데(우리가 알려준 Redirect 경로), 이때 우리가 필요한 AccessToken을 URL에 묶어서 건네준다.

 

고객 정보 받기

 

우리는 고객의 정보를 받아야 하는데, 어떻게 받을까?

카카오에 우리가 정보 요청을 하는 API가 있을 것이다. 그럼 우리는 받은 AccessToken와 함께 해당 API를 호출해주면, 카카오에서는 우리에게 고객의 정보중 가능한 정보를 보내줄 것이다.

 

 

  1. 서비스를 등록
    • 카카오에 자사 서비스 등록
    • redirect_uri 등을 설정
  2. 토큰 받기
    • 고객을 카카오 로그인 페이지로 이동시키고,
    • 회원이 로그인을 하게 되면 카카오가 사용자를 우리 서비스로 리다이렉트 시킨다.
  3. 토큰을 이용해 정보를 요청하는 과정
    • 우리가 AccessToken을 포함하여 API를 호출하면 끝.

다음은 SSO에 대해서 개념을 익혀보도록 하자.

반응형