본문 바로가기
Operation

[Apple] 애플 로그인 설정하기 (Sign In with Apple)

by SpiralMoon 2019. 12. 23.
반응형

애플 로그인 설정하기 (Sign In with Apple)

앱 및 웹에서 애플 계정으로 로그인 할 수 있는 기능인 "Sign In with Apple"을 설정해보자.

내 iOS 앱에 애플 로그인 기능을 넣어야 하는 이유

애플이 WWDC 2019에서 애플 로그인(Sign In with Apple) 기능을 발표함과 동시에, 구글이나 페이스북 로그인과 같이 타사 인증(OAuth)을 지원하는 iOS 앱에 애플 로그인을 강제로 넣어야 한다는 조항을 내걸었다.

 

2020년부터는 구글 로그인 넣을거면 애플 로그인도 넣어야 한다는 얘기다...


애플 개발자 페이지 접속

애플 로그인 기능을 활성화 하려면 https://developer.apple.com/에 접속해서 아래의 작업들을 수행해야 한다.

 

Apple Developer

Submit your apps today. Build your apps using Xcode 11, test them on devices running the latest OS, and submit them to the App Store. Learn more

developer.apple.com


작업 순서

1. Identifiers - App ID 생성

2. Key 생성

3. Identifiers - Services ID 생성과 도메인 소유권 확인

2, 3번 순서는 바뀌어도 된다.


Identifiers - App ID 생성

이번 항목은 애플 개발자 페이지에 iOS 앱을 등록하지 않았을 경우에만 수행한다.

 

Identifiers 클릭

 

+ 버튼 클릭

 

App IDs 선택

 

등록할 iOS 앱 프로젝트의 Bundle ID를 입력하고 스크롤을 아래로 내린다.

 

Capabilities - Sign In with Apple

Capabilities 목록에서 Sign In with Apple을 선택하고 Edit 버튼을 누른다.

 

왼쪽 항목 선택.

이후 모두 세이브하면 App ID 등록 절차는 끝난 것이다.


Key 생성

Keys 메뉴 선택

 

+ 버튼 클릭

 

Key 이름 지어주고, Sign In with Apple을 활성화 한 후 Configure 버튼 클릭

 

해당 Key가 어느 App ID에 귀속될 것인지 선택하는 화면이 나타난다. 적용하고 싶은 App ID를 선택한다.

 

마지막으로, 방금 생성한 Key에 대한 암호화 파일을 다운받는 화면이 나타난다.

무조건 다운로드 해준다. 재다운로드 할 수 없으므로 지금 다운로드 안받거나 파일을 분실하면 나중에 Key를 다시 만들어야한다.

 


Identifiers - Services ID 생성과 도메인 소유권 확인

Identifiers 메뉴에서 + 버튼 클릭

 

Services IDs 선택

 

Identifier를 지어준다. 보통 App ID(Bundle ID)를 역순으로 배치해서 쓴다.

App ID가 aaa.bbb.cccccc.bbb.aaa로 지어주면 된다.

 

Sign In with Apple을 활성화 해주고 Configure 버튼을 클릭.

 

애플 로그인도 일종의 OAuth 인증이기 때문에 로그인 화면에서 수행한 결과를 백엔드 서버로 전달하는데 위 창에는 그 결과를 전달받을 도메인과 하위 주소를 입력한다.

 

주소 입력 예시

만약, 내가 test.com라는 도메인의 callback/apple 이라는 주소로 결과를 전달받고 싶다면

Web Domain에는 test.com을,

Return URLs에는 https://test.com/callback.apple을 입력해주면 된다.

 

참고로 localhost도 안되며, HTTP가 아닌 커스텀 프로토콜(예를들어 markets://)도 안된다.

 

다 입력했으면 Save를 누르고 다시 Configure를 눌러서 위 창을 한 번 더 띄워준다.

 

이제 입력한 도메인에 대한 제어 권한이 본인이나 소속에 있는지 검증하는 절차이다. 아까는 없었던 Download, Verify 버튼이 생겼다.

Download 버튼을 눌러 apple-developer-domain-association.txt를 다운받고 /.well-known 주소 아래에 해당 파일을 호스팅하도록 하자.

 

apple-developer-domain-association.txt을 서버에서 호스팅한 화면

각자 해당 도메인에 올라간 서버에서 파일 호스팅을 위 처럼 해주면 된다.

주소는 도메인/.well-known/apple-developer-domain-association.txt이어야 한다.

 

웹 브라우저로 열었을 때 위 사진처럼 나오면 된다.

 

호스팅을 마쳤다면 Verify 버튼을 누른다.

 

박스 왼쪽에 V 표시가 나타나면 성공!

 

이제 애플 로그인을 구현할 수 있도록 설정을 마쳤으며, 앱에서 실제로 구현하는 방법은 다음 포스팅에서 진행하도록 하겠다.


관련 문서

 

Introducing Sign In with Apple - WWDC 2019 - Videos - Apple Developer

Sign In with Apple is the fast, easy way for people to sign in to apps using the Apple IDs they already have. Learn how easy it is to add...

developer.apple.com

 

App Store Review Guidelines - Apple Developer

App Store Review Guidelines Apps are changing the world, enriching people’s lives, and enabling developers like you to innovate like never before. As a result, the App Store has grown into an exciting and vibrant ecosystem for millions of developers and mo

developer.apple.com

 

WEB2 - OAuth 2.0 - 생활코딩

수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 받아야 합니다. 이 때 사용자의 패스워드 없이도 권한을 위임 받을 수 있는 방법이 필요합니다. 이를 위해서 고안된 기술이 OAuth입니다. 오늘날 많은 API들이 OAuth를 통해서 상호 연동을 지원하고 있습니다.  수업대상 구글, 페이스북과 같은 서비스의 API에 사용자 대신에 접근하고 싶은 분들을 위한 수업입니다. 또 아래 그림과 같이 다른 서비스로 로그인 하기 기능

opentutorials.org

반응형

댓글