Skip to content

yanghojoon/WeekPractice-OAuth

Repository files navigation

WeekPractice-OAuth

야곰 아카데미 토요 스터디에서 진행한 소셜 로그인 관련 내용입니다.

소셜 로그인을 통해 카카오에서 프로필 이미지와 닉네임을 받아와서 간단하게 화면에 표시하는 활동입니다.

📲 구현 결과

😺 구현 내용

참고 문서: https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios
(카카오 developers의 카카오 로그인 관련 문서를 참고하여 구현하였습니다)

🪢 OAuth

사용자(개발자 및 회사)들이 제 3사의 서비스를 사용하기 위해 사용하는 개념으로 위임 / 인가 / 허가 프로토콜이다. 이는 단순한 인증 프로토콜이 아니기 때문에 단순히 소셜 로그인 = OAuth라고 보기에는 무리가 있다.

다만 누군가에게 허가 / 위임 / 인가를 하기 위해선 본인을 증명해야 다른 사람에게 본인의 권한을 줄 수 있다. 온라인 상에서의 인증은 로그인 / 인증번호 입력 등의 방법이 있다.
따라서 인증의 과정을 통해 본인임을 증명하고 본인을 대리하여 다른 사람이 특정 Action을 처리할 수 있도록 하는 것이 OAuth인 것이다.

그렇다면 이런 과정이 어떻게 이뤄지는지 그림으로 살펴보자.

스크린샷 2022-03-20 오후 5 42 37

OAuth는 그림에서 보이다시피 3명의 주체에 의해 작동을 한다.

그 주체는 다음과 같다.

  • 사용자: 특정 앱을 사용하는 사용자를 의미
  • Client: 특정 앱을 운영하는 기업이나 개인을 의미
  • 서비스 제공자(위 그림에선 카카오톡): 카카오 / 네이버 / 페이스북 / 구글 등의 기업

❓ 그렇다면 왜 이런 개념을 사용하게 된 것일까?

Client가 만약 작은 기업이라면 특정 서비스를 제공하기 위해 개인 정보나 특정 기능을 어디서 끌고 와야 하는데 이미 카카오 / 네이버 / 페이스북 / 구글은 이런 정보와 기능을 가진 경우가 많다. 따라서 Client는 서비스 제공자인 기업에게 OAuth를 요청하게 되는 것이다.

그렇다면 서비스 제공자는 왜 이런 기능과 정보를 제공해주는 것일까? 서비스 제공자 또한 Client를 통해 사용자가 서비스 제공자에게 ID를 만들고 계속 이를 유지하도록 하는 유인을 제공할 수 있다. Client같은 기업들이 많아지고 사용자 또한 이렇게 OAuth 기능을 사용한다면 특정 서비스를 사용하기 위해서라도 서비스 제공자의 서비스에 계속 가입할 수 밖에 없는 것이다.

사용자 또한 다양한 기업에게 직접 ID와 비밀번호를 생성하며 서비스를 사용하기 보단 하나의 계정만 관리하면 된다는 편리함 때문에 OAuth를 사용하게 된다.

즉, 세 명의 주체 모두에게 주는 장점이 존재하는 기술인 것이다.

About

야곰 아카데미 토요 스터디에서 진행한 소셜 로그인 관련 내용입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published