본문 바로가기

[Android]/허접 Programming Tips

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

안녕하세요!

허접 샴푸입니다.

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

 

이번 편은 안드로이드에서 애플 로그인을 구현하기 위해 필요한 안드로이드 앱 쪽을 살펴보겠습니다.

 

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

 

[START]

1. Const.kt 작성 (상수 설정)

[APPLE_CLIENT_ID]

APPLE_CLIENT_ID https://developer.apple.com/account/resources/identifiers/list/serviceId로 들어가면

IDENTIFIER이라고 되어있는 놈의 값입니다.

 

[APPLE_REDIRECT_URI]

APPLE_REDIRECT_URI 1편에서 말씀드린 Return URLs에 작성한 주소를 적습니다.

 

 

2. Interaction.kt 인터페이스 작성 

아래 로그인 창에서 email과 같은 원하는 값을 받아오면 위 인터페이스를 통해 해당 값을 View단으로 뿌려주기 위한 인터페이스입니다.

 

 

3. AppleSignInDialog.kt 생성 (로그인 창)

- webView 객체를 생성하여 loadUrl을 통해 apple 로그인 화면을 웹뷰에 띄웁니다.

- onPageFinished 쪽에서 2편에서 설정한 header("LOCATION: ?status=success&email={$claims->email}");에 따라 uri.getQueryParameter("email")을 이용하여 email 값을 받아옵니다.

- fail이건 success이건 작업이 완료되었기 때문에 dismiss()를 이용하여 로그인 화면 다이얼로그를 종료시킵니다.

- 이메일을 구하면 interface를 통해 값을 넘겨 View에 값을 넘겨줍니다.

 

4. View에서 다이얼로그 호출하기 (저는 Fragment에서 호출하였습니다.)

 

 

[실제 구동되는 화면(결과)]

애플 로그인과 관련하여 실제 코드를 Git에 올리려고 하였으나, 제약사항(Key, Id 등 값이 없으면 구동이 되지 않음)이 많아 

제가 직접 구현한 실제 서비스의 화면을 보여드립니다.

위는 성공적으로 로그인 후 서버로부터 email 값을 header로 받아와 해당 값을 이용하여 앱에 로그인하는 화면입니다.

 

네 저는 현재 베리픽이라는 서비스의 앱 개발자이며 계속 오류를 잡아나가고 있습니다.

공식 사이트: http://berrypic.io/comingsoon/

 

베리픽 공식 홈페이지 - BERRYPIC

BERRYPIC Tag-based reward AD Platform #berrypic 서비스는 블록체인 기술 토큰 이코노미를 접목 시킨 태그 개설형 마케팅 플랫폼이며, SNS 형태로 구성 되어 있습니다. 사진을 등록하고, 평가하고, 시청하고, 구매하고, 미션을 완료하는 일상 활동에 보상이 주어집니다. BERRYPIC = "Berry + Picture"의 합성어로 구성되어 있으며, 베리픽 또는 베리픽쳐로 불리우게 됩니다. 베리픽 로고를 구성하고 있는 색상은

berrypic.io

 

개발하면서 몰랐던 부분 어려웠던 부분이 있어도 물어볼 곳이 없었으며, 맨땅에 계속 헤딩 중입니다.

저 같은 개발자분들이 있을 것 같아 최대한 블로그를 통해 많은 정보를 공유하고자 함이 제 목표입니다.

 

질문이 있으시면 댓글에 남겨주시기 바랍니다.

온라인 문의 또한 가능하며 댓글에 이메일 주소 혹은 카카오톡 아이디를 비밀글로 요청해주시기 바랍니다.