내용으로 건너뛰기

애플 로그인 (안드로이드)

GitHub

안드로이드에서 Apple 로그인은 조금 복잡합니다. Apple은 안드로이드에 공식적으로 지원하지 않기 때문에 Sign in with Apple 안드로이드에서 Apple 로그인을 지원하는 공식적인 방법이 없기 때문에

안드로이드에서 현재 Chrome 탭을 사용하여 OAuth2 웹사이트를 표시합니다. 이 방법에는 다음과 같은 문제점이 있습니다:

  • 구성하기 어려움
  • 백엔드가 필요합니다

안드로이드에서 흐름을 이해하는 어려움

안드로이드에서 흐름을 이해하는 방법

흐름을 이해하기 위해 다이어그램을 사용해 보겠습니다.

이제 흐름과 문제점을 이해하셨다면, 구성 방법을 설명하겠습니다.

서비스 ID를 생성합니다

서비스 ID를 생성하는 방법
  1. Apple 로그인에 사용할 계정으로 로그인합니다 Apple 개발자 Portal.

  2. 클릭 Identifiers.

    Apple 개발자 Portal 식별자 섹션

    이런 화면을 보실 수 있습니다.

    Apple 개발자 Portal 식별자 화면
    1. 이 필드가 App IDs
    2. 앱 ID를 찾을 수 있으십니까?
  3. 애플 로그인 기능이 활성화되어 있는지 확인하세요. Sign in with Apple 앱에 대한 기능이 활성화되어 있는지 확인하세요.

    1. 앱을 클릭하세요. 앱 목록에서 앱을 선택하세요.
    2. 앱에 대한 기능이 활성화되어 있는지 확인하세요. Sign in with Apple Apple 로그인 기능이 활성화된 체크박스 활성화되지 않은 경우 활성화하세요.
    3. 모두로 돌아가세요.
  4. 모든 식별자 наві게이션 버튼 All Identifiers

    클릭하세요.
  5. 모두로 돌아가세요. App Ids 그리고 이동하세요 Services IDs

    서비스 ID 섹션으로 이동
  6. 새로운 식별자 만들기

    1. 플러스 버튼 클릭

      새로운 서비스 ID 추가 버튼
    2. 선택 Servcice IDs 및 클릭 Continue

      서비스 ID 선택 옵션
    3. 설명과 식별자 입력 후 클릭 Continuie.

      서비스 ID 세부 정보 입력
    4. 세부 정보를 확인하고 클릭 Register

      서비스 ID 등록을 확인합니다.
    5. 새로 생성된 서비스를 클릭하세요.

      새로 생성된 서비스 ID를 선택하세요.
    6. 활성화하기 Sign in with Apple 선택

      서비스 ID에 Sign in with Apple을 활성화합니다.
    7. 설정하기 Sign In with Apple

      Sign in with Apple 설정 버튼
    8. 앱 ID가 이전 단계에서 구성된 앱 ID로 설정되어 있는지 확인하세요. Primary App ID 기본 앱 ID 드롭다운 설정

      백엔드가 호스팅될 도메인을 추가하세요.
    9. option

      설정 도메인 및 반환 URL 필드
    10. 데이터를 확인하고 클릭 Done

      도메인 및 반환 URL 구성 확인
    11. 클릭 Continue

      서비스 설정을 계속하기 위한 버튼
    12. 클릭하여 Save

      서비스 설정을 저장하기 위한 버튼

키 생성

키 생성
  1. 모두 보기로 돌아가기 All Identifiers

    모든 식별자
  2. 클릭하여 Keys

    애플 개발자 Portal의 키 섹션
  3. 플러스 아이콘을 클릭하여

    새 키 추가하기
  4. 키 이름을 지정하세요

    __CAPGO_KEEP_0__ 키 이름 입력란에 키 이름을 입력합니다.
  5. Select Sign in with Apple __CAPGO_KEEP_3__ Configure

    __CAPGO_KEEP_4__ 애플 로그인 키를 위한 Sign in with Apple 활성화 및 설정
  6. __CAPGO_KEEP_5__ Save

    __CAPGO_KEEP_6__
  7. 클릭 Continue

    키 구성에 대한 계속 버튼
  8. 클릭 Register

    키 생성에 대한 등록 버튼
  9. 키 ID를 복사하고 키를 다운로드하세요.

    키 ID 및 다운로드 버튼 화면
  10. 다운로드 한 키를 백엔드 폴더에 저장하세요.

    다운로드 된 키 파일

팀 ID를 가져오는 방법

팀 ID를 가져오는 방법

Android에서 사용하기 위해 Login with Apple Android에서 사용하기 위해 Team ID을 가져와야 합니다. 백엔드에서 사용됩니다.

  1. 이 웹사이트로 이동하세요 스크롤 다운 개발자 계정에서

  2. 팀 ID 위치를 찾으세요 Team ID

    앱 리다이렉트 구성

앱 리다이렉트 설정

구성하는 앱 리다이렉션

그림에서 보았듯이 백엔드에서는 앱 리다이렉션을 위한 단계를 수행합니다. Redirect back to the app이 단계는 앱의 수동 변경이 필요합니다.

  1. 수정하십시오 AndroidManifest.xml
    1. Android Studio에서 파일을 열어보겠습니다. AndroidStudio

      파일을 찾으세요.
    2. 애플/안드로이드 MainActivity 클립보드에 복사

      MainActivity에서 Intent 필터 code 추가하기
      <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="capgo-demo-app" android:host="path" />
      </intent-filter>
  2. 수정하십시오 MainActivity
    1. MainActivity에 Intent 필터 __CAPGO_KEEP_0__를 추가하세요. MainActivity

      Android Studio의 MainActivity.java 파일
    2. 다음과 같은 code를 추가하세요:

      Code를 MainActivity에 추가하여 깊이 링크를 처리하는 데 사용하세요
      @Override
      protected void onNewIntent(Intent intent) {
      String action = intent.getAction();
      Uri data = intent.getData();
      if (Intent.ACTION_VIEW.equals(action) && data != null) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Apple Login Intent", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Apple Login Intent", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleAppleLoginIntent(intent);
      return;
      }
      super.onNewIntent(intent);
      }

안드로이드에는 백엔드가 필요하지만 백엔드를 구성하면 IOS에도 영향을 미칩니다. 예를 들어, 다음의 백엔드가 제공됩니다. 여기

이 예제는 다음을 제공합니다.

  • 간단한 JSON 데이터베이스
  • 애플 서버에서 JWT를 요청하는 방법
  • JWT를 간단하게 검증하는 방법

부분이 보일까요? env 서비스 ID

  • ANDROID_SERVICE_ID 앱 ID
  • IOS_SERVICE_ID 클립보드에 복사
env: {
PRIVATE_KEY_FILE: "AuthKey_U93M8LBQK3.p8",
KEY_ID: "U93M8LBQK3",
TEAM_ID: "UVTJ336J2D",
ANDROID_SERVICE_ID: "ee.forgr.io.ionic.starter.service2",
IOS_SERVICE_ID: "me.wcaleniewolny.test.ionic.vue",
PORT: 3000,
REDIRECT_URI: "https://xyz.wcaleniewolny.me/login/callback",
BASE_REDIRECT_URL: "capgo-demo-app://path"
}

제목이 '플러그인을 사용하는 방법'인 섹션

플러그인을 사용하는 방법

iOS 사용의 경우와 달리 사용 방법은 동일합니다. 자세한 내용은 해당 섹션을 참조하세요. login iOS 사용의 경우와 달리 사용 방법은 동일합니다. 자세한 내용은 해당 섹션을 참조하세요. 그러나, initialize 메소드의 경우 약간 다릅니다.

await SocialLogin.initialize({
apple: {
clientId: 'ee.forgr.io.ionic.starter.service2',
redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback'
}
})

애플리케이션 만들기

애플 로그인
  1. App ID가 이미 있는 경우 이 단계를 건너뛸 수 있습니다.

    새로운 식별자 추가 버튼
  2. 식별자 추가 App IDs 선택

    계속
  3. App ID 유형 선택 App 유형 선택 Continue

    애플 로그인 유형 선택
  4. 애플 로그인 기능을 사용하기 위해 앱 ID를 입력하세요.

    앱 설명과 앱 번들 ID를 입력하세요.
  5. 켜기 Sign with Apple 기능

    애플 로그인 기능을 사용하기 위해 기능을 활성화하세요.
  6. 클릭 Continue

    앱 등록을 위해 계속 버튼
  7. 세부 사항을 확인하고 클릭하세요. Register

    앱 등록 세부 사항을 확인하세요.

애플 로그인에서 계속하세요.

애플 로그인에서 계속하는 방법

애플 로그인에서 계속하는 방법 애플 로그인 (Android) 인증 및 계정 흐름을 계획하고 연결하려면 애플/안드로이드에서 @capgo/capacitor 소셜 로그인 사용 Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-passkey Using @capgo/capacitor-passkey Using @capgo/capacitor-native-biometric Using @capgo/capacitor-native-biometric for capgo capacitor-native-biometric 구현 세부사항에 대해 두 단계 인증 Two-factor authentication