본문 바로가기

[Android]/허접 Programming Tips

[소셜로그인] 안드로이드 애플 로그인(Sign in with apple) 구현하기 1편

안녕하세요!

허접샴푸입니다.

요새 통 바빠서 포스트를 작성하지 못했습니다.

 

Android와 IOS 둘 다 개발하는 앱 개발자라면 소셜 로그인을 한 번쯤 구현해보셨을 것입니다.

출처: https://support.apple.com/en-us/HT210318

 

아이폰 앱에서 '구글 로그인', '페북 로그인' 등의 소셜 로그인을 넣으려면 "Sign in with Apple"(애플 로그인)을 필수적으로 넣어야 합니다.

이 때문에 안드로이드에서도 필수적으로 구현하게 되었습니다. 

 

왜냐하면 Iphone 사용자가 어떠한 앱을 '애플 로그인'을 통해 사용하다가 안드로이드 폰으로 바꾸었다고 가정해봅시다.

안드로이드 폰에서 그 앱을 다시 사용하고자 다운로드하였는데 '애플 로그인'이 구현되어 있지 않으면 자신의 계정 관련 데이터를 불러올 수 없기 때문에 매우 좋지 않은 User Experience 겠죠?

 

거두절미하고 어떻게 구현하는지 바로 알아보도록 하겠습니다.

 

 

[START] (애플 개발자 계정이 있으신 분만 가능합니다!)

1) https://developer.apple.com/ 접속 후 "Account"를 클릭합니다.

 

 

2) 로그인합니다.

 

3) 로그인 후 아래와 같이 "Certificates, Identifiers & Profiles"를 클릭합니다.

 

4) "Identifiers"를 클릭한 다음 + 버튼을 클릭합니다.

 

5) "App IDs"를 클릭한다음 "continue" 버튼을 클릭합니다.

 

6) 그럼 새로운 화면이 나타나며, 아래로 스크롤하여 "Sign In With Apple"을 체크하고 Edit 버튼을 눌러 아래와 같이 설정 후 "Save" 해줍니다.

 

 

7) "Description"과 "Bundle Id"를 아래와 같이 작성합니다.

물론 저는 이미 만든 것이 있으며, 아래는 예시를 위해 shampoo라고 작성하였습니다. 이 글을 보시는 분께서는 자신이 원하는 Description과 Bundle ID를 사용하시면 됩니다.

그럼 아래와 같이 생성이 되었습니다.

 

 

8) 이제 "Identifiers"에서 돋보기 옆에 텍스트를 클릭하여 "Services IDs"를 선택합니다. 그 후 + 버튼을 클릭!

2번째 "Services IDs" 선택
+ 버튼을 클릭하여 Service ID를 추가합니다.

 

 

9) 아래와 같이 Service ID 추가!

Service IDs 선택 후 Continue!
Description과 Identifier을 작성 후 Continue! 여기서 Identifier는 App ID의 Identifier과 다르게 작성해주세요.
확인 후 Register 클릭!
위와 같이 만들어졌습니다!

 

10) 그럼 해당 Service ID를 클릭하여 아래 화면에서 Sign In with Apple을 체크하고 "Configure" 버튼을 클릭합니다.

"Configure" 버튼을 클릭합니다!

 

위 화면에서 방금 설정한 "App ID"를 선택한 다음 (매우 중요)

Domain은 개발자 분께서 사용하는 웹서버의 공식 도메인을 입력해주세요. (123.123.123.123 형태의 IP 주소는 안된다고 합니다!)

Return URLs에는 콜백을 처리할 주소를 적어줍니다.

저는 php로 작성했기 때문에, 예를 들면 www.test.com/callback.php라고 작성하였습니다.

 

 

11) 마지막으로 Key를 생성합니다.

 

왼쪽 메뉴에서 Keys 클릭!
+ 버튼을 눌러 Key를 생성합니다!
"Sign in with Apple" 선택 후 "Configure" 클릭!
자신의 App ID를 선택하면 위와 같이 Grouped App IDs가 나타나며 "Save"를 클릭합니다.

위와 같은 화면이 나오면 정상적으로 만들어진 것이며 "Download"를 클릭하여 Key를 안전한 곳에 저장해둡니다.

그리고 "Done"을 눌러 마무리 짓습니다.

 


와우 기나긴 여정이었습니다.

2편에서는 위에서 "Return Urls" 즉 콜백 받을 서버 쪽 코드를 작성하도록 하겠습니다.

참고로 저는 허접이라 PHP를 사용합니다.

 

 

"공감" 버튼 한번 눌러주시면 매우 감사하겠습니다.

잘 안되거나 질문이 있으시면 댓글로 남겨주시면 감사하겠습니다.

그럼 2편에서 봐요~!