안녕하세요 개발자 베베입니다.
이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다.
선행 과정
- 파이어베이스와 플러터 프로젝트가 연결되어 있어야 함
- Apple Developer Program에 가입되있어야 함
애플 로그인을 디버깅하거나 사용하기 위해선 먼저 애플 개발자 프로그램에 가입되있어야 합니다. 애플 개발자 프로그램은 제가 가입했을 당시 기준으로 12만원정도 하며 1년마다 갱신해주어야 합니다.
뭐.. 비싸긴한데 앱스토어에 앱을 출시하기 위해선 반드시 가입해야 하니 눈물 흘리며 가입해주도록 합시다..
애플로그인이 필요한 이유
2020년부터 앱스토어에 출시되는 모든 어플은 구글로그인, 트위터 로그인같은 타사 인증(OAUTH)을 지원할 경우 반드시 애플 로그인도 구현해야만 합니다.
만약 그렇지 않을 경우 출시가 거부되기 때문에 타사 인증 서비스를 아예 중지하던지, 애플 로그인을 포함시키던지 선택을 해야합니다. 만약 그러지 못할 시에는 앱 출시가 거부됩니다.
App ID 생성
먼저 첫번째로 해야할 것은 여러분의 앱이 애플 로그인을 사용하고 있는지 App ID에서 설정을 해주어야 합니다. 만약 앱 등록이 되어있다면 기존 App ID를 설정해주면 될 것이고, 그렇지 않다면 App ID를 새로 생성하여 앱을 등록해야 합니다.
애플 개발자 페이지에서 좌측 메뉴의 Certificates, IDs & Profiles를 눌러 ID 관리 페이지로 진입합니다.
좌측에서 [Identifiers] 메뉴를 선택하면 아래와 같은 화면이 나타나는데, 빨간 박스에 표시한 + 버튼을 눌러 App ID 등록 절차를 진행해줍니다.
앱을 등록해야 하니, App IDs 를 선택하고 Continue를 눌러 다음 단계를 진행합니다.
App을 선택해주고 다음 단계로 넘어갑니다.
앱에 대한 설명과 Bundle ID를 입력해줍니다. Bundle ID는 여러분의 프로젝트에 작성되어 있는 것과 동일하게 작성해줘야 나중에 문제가 생기지 않습니다.
스크롤을 밑으로 내리면 앱에서 사용하는 기능을 선택하는 곳이 있는데, 여기서 Sign in with Apple 기능을 선택하여 활성화 해줍니다. 만약 다른 기능도 사용하고 싶다면 나중에 다시 설정할 수 있으니 걱정하지마세요.
활성화가 완료되면 Continue를 눌러 마무리를 해줍니다.
여기까지 잘 따라오셨다면 App ID가 생성되었을 것입니다.
지금까지 한 작업은 앱 스토어에서 내 앱을 식별하는 App ID를 생성한 것이며, 이 앱이 무슨 기능을 사용할 것인가에 대해서만 진행한 것입니다. 지금부터는 애플 로그인이 작동하기 위해 필요한 정보, Key와 Service ID를 생성해보도록 하겠습니다.
Key 생성
좌측 메뉴의 Keys를 눌러 Key 관리 페이지로 진입합니다. 그리고 + 버튼을 눌러 키 추가를 진행합니다.
Key는 애플이 제공하는 서비스에서 신뢰성 있는 암호화 통신을 위해 필요한 중요한 정보입니다. 이 Key를 어떤 용도로 사용할 것인지 먼저 정해줘야 하는데 지금은 애플 로그인을 위한 Key니까 Sign in with Apple을 선택해줍니다.
그리고 오른쪽 Configure을 눌러서 어떤 앱의 애플 로그인 기능과 연결할 것인지 선택해줍니다.
아마 아까 생성한 App ID가 보이실 겁니다. 그걸 선택해주시면 되겠습니다.
여기까지 중요한 설정은 끝이고 계속해서 진행하다보면 Key를 다운로드할 수 있는 페이지가 나오는데, 여기서 Key를 다운로드받고 소중하게 보관해줍니다. 두번 다시 다운받을 수 없으니 분실에 주의하시기 바랍니다.
만약 Key를 잃어버리면 다시 Key를 만들어야 하기 때문에 왠만하면 잃어버리지 맙시다.
Service ID 생성
마지막 단계로 Service ID 생성하기입니다. 이 단계에서는 클라이언트가 OAUTH 인증을 하기 위해 필요한 정보( 도메인, 콜백 주소)를 설정합니다.
App ID와 마찬가지로 Service ID도 Identifiers 페이지에서 생성합니다.
이번에는 Serivce ID를 생성하는 단계이니 Serivces ID를 선택하고 넘어갑니다.
간단한 설명과 Identifier를 입력해줍니다. Identifier는 App Id의 역순으로 지어주는 것을 추천하고 있네요. appname.company.com 형식으로 넣어주면 될 것 같습니다. 작성 완료 후에 다음을 눌러줍니다.
입력한 정보 요약입니다. Regiester을 눌러 Service ID를 생성합니다.
이제 Service ID가 생성되었습니다. 아직 생성만 한 상황이고, 이 Service ID를 어떤 서비스와 연결할 것인지, 그리고 인증을 위한 콜백 주소는 무엇인지 설정해주어야 합니다.
생성한 Service ID를 찾습니다. Identifiers 페이지에서 우측 드랍다운을 Service IDs로 설정하면 보입니다. 클릭하여 설정화면으로 들어갑니다.
Sign in with Apple 기능이 비활성화되어있는데, 체크박스를 선택하여 활성화시켜줍니다. 그리고 Configure 버튼을 눌러서 설정을 진행합니다.
App ID를 선택해주시고 Domains and Subdomains에 애플 로그인 인증을 위해 필요한 웹서버 도메인과 콜백 주소를 입력해주어야 합니다.
여기부터는 파이어베이스와 관련된 내용이기 때문에 다음 포스팅에서 알아보도록 하겠습니다.
도메인을 입력할 때, 앞에 https:// 제거해주시고 맨 뒤에 /도 빼주셔야 합니다. 그렇지 않으면 Invalid domain error가 발생합니다.
ex) http://www.naver.com (x) www.naver.com (o)
다음 단계
다음 포스팅에서는 지금까지 얻은 정보로 파이어베이스에서 애플 로그인을 설정하고, 아직 못다한 Service ID 설정을 마저 진행하도록 하겠습니다.