[Sign In With Apple] 애플 로그인 — 이모저모

EmilY
4 min readFeb 5, 2020

요즘 애플 로그인에 대해 조사하고 있습니다

현재까지 나온 소식들을 정리해보려고 합니다

심사

앱이 Apple로 로그인해야 하는 시점에 대한 기준을 제공하기 위해 App Store 심사 지침을 업데이트하였습니다. 오늘부터 App Store에 제출하는 신규 앱은 해당 가이드라인을 따라야 하며, 기존의 앱과 앱 업데이트는 2020년 4월 전까지 해당 가이드라인을 따라야 합니다.

4월 전까지 회원가입이 있는 서비스에는 애플 로그인을 포함시켜야 한다는 조건이 들어가게 됐습니다. 하지만 아직 국내외에서 마땅히 애플 로그인을 서비스에 포함시킨 앱이 보이지 않네요. (적용한 앱은 하단 참조)

Private Relay Email Address

사용자는 원한다면 진짜 이메일 주소가 아닌, 임의의 이메일 주소를 생성할 수 있습니다. 해당 이메일 주소 형식은 @privaterelay.appleid.com 입니다. 이 주소로 보내면 애플 서버에서 알아서 진짜 이메일 주소로 바꿔서 전달해준다고 합니다..

이런 식으로 메일 전송

사용자에게 이메일을 전송하려면 서비스 업체는 Certificates Identifiers & Profiles에서 아웃바운드 이메일 도메인을 등록해야 합니다.

한 업체당 사용자는 하나의 private relay email address를 갖게 됩니다. 그러니까 업체가 앱이 여러개일때 사용자는 그 앱들에 대해 하나의 private relay email address를 갖는다는 뜻인 것 같습니다..

사용자는 아이폰 설정앱에서 이메일 수신여부를 설정할 수 있고, 수신거부 시 reject 응답이 돌아온다고 합니다.

타 플랫폼에서는 Apple ID, 비밀번호, two-factor authentication code을 이용해 로그인 합니다.

사용자 정보

일단 로그인 프로세스는 아래 그림과 같습니다

앱이 로그인을 하면 토큰과 사용자 정보를 받습니다. 만약 내가 서비스하는 앱이 여러가지면, 그 앱들을 그룹화해서 사용자가 하나의 앱에 한번만 로그인하면 번들 아이디가 다른 앱에서도 바로 로그인되게 합니다.

로그인 시 받는 애플서버로부터 받는 사용자 정보는 간단합니다. (이름, 이메일 주소, uid, 사용자 상태) 그리고 인증을 위한 credential을 받습니다. (id token, auth code, user identifier) 앱은 직접 애플서버와 통신하고, 넘겨받은 정보들은 자기 서버에 저장해야 합니다. 한번만 넘겨주기 때문입니다. 아니면 계정 사용 중지하고 다시 연결할때 받을 수 있습니다.

토큰 인증은 이렇게..

사용자 세션 관리는 나중에 추가…

국내외 적용 앱

우선 쏘카

Adobe 어도비

검은사막 모바일

그 외에 또 다른 앱이 있으면 더 찾아봐야겠다…

참조

심사제출 관련 : https://developer.apple.com/kr/news/?id=09122019b

이메일 관련 : https://developer.apple.com/documentation/signinwithapplejs/communicating_using_the_private_email_relay_service

사용자 토큰 관련 : https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user

사용자 인증 관련 : https://developer.apple.com/documentation/signinwithapplerestapi/authenticating_users_with_sign_in_with_apple

--

--