모우다 서비스를 사용하는 사용자의 정보를 식별하고 사용자 맞춤 서비스를 제공하기 위해 인증 인가를 도입하였다.

🍎 애플 로그인을 구현하게 된 이유와 구현 과정

우리 서비스에 애플의 인증 인가 API를 활용하여 소셜 로그인을 구현하였다. 애플 로그인을 도입한 이유는 앱스토어에 서비스를 등록하기 위함이다.

서비스 도메인 상 사용자에게 효과적인 알림을 발송시키고 쉽게 진입할 수 있도록 하는 것이 중요했다. 따라서 모바일 환경에서 서비스를 지원하자는 결정을 하였고 안드로이드 기기와 더불어 애플 기기에 서비스를 올리기 위한 준비를 하였다. 특히 앱스토어의 경우 애플 소셜 로그인 기능이 구현되어있어야 어플 등록이 승인되기 때문에 해당 기능을 구현하기로 하였다.

애플 소셜 로그인을 구현하기 위해 애플 공식문서를 많이 찾아보았다.

필요한 정보가 흩어져있어서 공식문서를 참고하기 어려웠다. 아래 개요에서 애플 로그인을 구현한 간략한 프로세스와 이 때 참고한 공식문서를 정리해보겠다. 혹시 이미 만들어진 로그인 시스템을 사용해 개발을 해야한다면 이 문서를 참고하면 좋을 것 같다.

애플 로그인 구현 개요와 참고 문서

전반적인 로그인 프로세스 이해

공식 문서

이 링크에 들어가면 전반적으로 애플 소셜 로그인이 어떻게 진행되는 지 나와있다. 하지만 처음 소셜 로그인을 구현하는 입장이었던 나는 이 공식 문서만으로는 이해하기 힘들었다.

Resource Owner, Client, Authentication Server, Resource Server의 역할과 redirectUri, Client Secret, Client Id가 무엇인지, 왜 필요한 지 등등에 대해 이해하는 것이 우선이다. 이 부분은 해당 블로그를 읽고 이해에 많은 도움이 되었다.

엄밀히 말하면 애플 로그인은 OAuth 2.0 프로토콜의 명세를 그대로 지원하지 않는다. 하지만 전반적인 프로세스가 비슷하기 때문에 OAuth 2.0의 과정을 이해하는 게 도움이 된다.

클라이언트가 인가 코드를 넘겨주는 과정 이해

공식 문서

Authentication Server (= 백엔드 서버) 클라이언트로부터 인가 코드를 넘겨 받는다. 이에 앞서 어떻게 클라이언트가 인가 코드를 받게 되는 지 과정을 이해할 필요가 있다.

백엔드가 인가 코드를 활용해 해야할 일 이해