메뉴로 이동

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

애플 로그인은 안드로이드에서 약간의 해킹이 필요합니다. 애플은 안드로이드에 대한 공식 지원을 제공하지 않기 때문입니다. Sign in with Apple 안드로이드는 현재 Chrome 탭을 사용하여 OAuth2 웹사이트를 표시합니다. 이 접근 방식에는 다음과 같은 문제가 있습니다:

어려운 구성

  • __CAPGO_KEEP_0__
  • 백엔드가 필요합니다

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

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

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

이제 문제와 흐름을 이해했으니, 설정을 시작해 보겠습니다.

서비스 ID를 생성합니다

서비스 ID를 생성하는 방법
  1. 애플 개발자 Portal로 로그인하세요 애플 개발자 Portal.

  2. 애플 개발자 Portal의 식별자 섹션을 클릭하세요 Identifiers.

    애플 개발자 Portal의 식별자 섹션

    이런 화면을 볼 수 있어야 합니다:

    애플 개발자 Portal Identifiers 화면
    1. 이 필드가 App IDs
    2. 앱 ID를 찾을 수 있어야 합니다.
  3. 앱에 Sign in with Apple 능성이 활성화되어 있어야 합니다.

    1. 앱을 클릭하세요 __CAPGO_KEEP_0__을 목록에서 선택하세요.
    2. __CAPGO_KEEP_1__이 활성화되어 있는지 확인하세요. Sign in with Apple __CAPGO_KEEP_2__이 활성화되어 있는지 확인하세요. Apple과 함께 로그인할 수 있는 기능이 활성화된 체크박스
    3. 활성화되지 않은 경우 활성화하세요.
  4. 모두 보기로 돌아가기 All Identifiers

    모든 식별자로 이동하는 버튼
  5. __CAPGO_KEEP_3__을 클릭하세요. App Ids __CAPGO_KEEP_4__으로 이동하세요. Services IDs

    __CAPGO_KEEP_5__ 섹션으로 이동하세요.
  6. 새 식별자 만들기

    1. 플러스 버튼을 클릭하세요.

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

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

      서비스 ID 세부 정보 입력
    4. 세부 사항을 확인하고 Register

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

      새로 생성된 서비스 ID를 선택하세요
    6. Enable the Sign in with Apple option

      Apple Sign in을 위한 서비스 ID에 대해 Sign in with Apple을 활성화하십시오.
    7. Configure the Sign In with Apple

      Sign in with Apple을 위한 Configure 버튼
    8. 애플리케이션 ID가 이전 단계에서 설정된 Cloudflare App ID로 설정되어 있는지 확인하십시오. Primary App ID App ID를 설정하는 드롭다운

      백엔드 호스팅을 위해 사용할 도메인을 추가하십시오.
    9. 도메인 및 반환 URL 필드를 설정하십시오.

      주의
    10. 서비스 설정을 위해 Done

      버튼을 클릭하세요.
    11. 서비스 설정을 위해 Continue

      버튼을 클릭하세요.
    12. 서비스 설정을 위해 Save

      버튼을 클릭하세요.

키를 생성합니다.

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

    모든 식별자
  2. 클릭하세요. Keys

    Apple Developer Portal의 키 섹션
  3. 플러스 아이콘을 클릭하세요.

    새 키 추가
  4. 키 이름을 입력하세요.

    키 이름을 입력하세요.
  5. 선택 Sign in with Apple 및 클릭 Configure

    Apple 로그인 기능을 키에 활성화하고 설정하는 방법
  6. 기본 App ID를 선택하고 Save

    기본 App ID를 키에 설정하는 방법
  7. Click on Continue

    키 구성에 대한
  8. Continue 버튼을 클릭하세요. Register

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

    __CAPGO_KEEP_0__ ID와 키 다운로드 버튼 화면
  10. 다운로드 한 키 파일을 찾고 백엔드 폴더에 저장하세요.

    다운로드 한 키 파일

팀 ID를 찾는 방법

팀 ID를 찾는 방법

In order to use Login with Apple on Android, you need to get the Team ID. It will be used in the backend.

  1. Go to this website and scroll down

  2. Find the Team ID

    Team ID location in developer account

Configuring the app redirect

개발자 계정에서

앱 리다이렉트 설정 Redirect back to the app뒤에 설명한 것처럼 백엔드에서 수행하는 단계가 있습니다. 이 단계는 앱의 수동 변경이 필요합니다.

  1. 수정하기 AndroidManifest.xml
    1. 파일을 열어보세요. Android Studio에서 AndroidManifest.xml 파일을 사용할 것입니다. AndroidStudio

      Android Studio에서 AndroidManifest.xml 파일을 열어보세요.
    2. 찾아보기 MainActivity Intent 필터 __CAPGO_KEEP_0__를 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. Android Studio에서 MainActivity.java 파일을 열어보세요. MainActivity
    1. MainActivity.java 파일을 열어보세요. MainActivity

      __CAPGO_KEEP_0__를 MainActivity에 추가하세요.
    2. code를 MainActivity에 추가하세요.

      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 섹션의 예시입니다.

  • ANDROID_SERVICE_ID = 서비스 ID
  • IOS_SERVICE_ID = 앱 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 그러나 그러나__, the initialize 메서드의 변경은 조금 다릅니다.

await SocialLogin.initialize({
apple: {
clientId: 'ee.forgr.io.ionic.starter.service2',
redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback'
}
})
  1. 이미 App ID가 있는 경우 이 단계를 건너뛸 수 있습니다. Apple Login for IOS를 구성한 경우 이 단계를 따르지 마십시오.

    If you don’t already have an App ID, click on the plus button
  2. App ID가 아직 없는 경우 플러스 버튼을 클릭하세요. App IDs Add new identifier plus button

    새로운 식별자 플러스 버튼
  3. Select App 선택 Continue

    and click continue
  4. 계속하기를 클릭하세요.

    Selecting App IDs type
  5. App ID 유형을 선택합니다. Sign with Apple 능력

    애플 로그인 기능 활성화
  6. 클릭 Continue

    앱 등록을 위한 계속 버튼
  7. 세부 정보를 확인하고 클릭 Register

    앱 등록 세부 정보 확인