내용으로 건너뛰기

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

GitHub

안드로이드에서 애플 로그인은 약간의 해킹입니다. 애플은 안드로이드에서 공식적으로 지원하지 않기 때문에. Sign in with Apple 안드로이드에서 애플 로그인은 약간의 해킹입니다. 애플은 안드로이드에서 공식적으로 지원하지 않기 때문에.

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

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

안드로이드에서 흐름을 이해하는 것이 어렵습니다.

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

Let me use a diagram to explain the flow on android:

이제 문제와 흐름을 이해한 후에 설정을 시작해 보겠습니다.

서비스 ID를 생성하는 방법

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

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

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

    애플 개발자 Portal의 식별자 화면

    이 필드의 값이
    1. __CAPGO_KEEP_0__ App IDs
    2. 앱 ID를 찾을 수 있는지 확인하세요.
  3. 앱이 Sign in with Apple 능력을 활성화되어 있는지 확인하세요.

    1. 앱을 클릭하세요. 앱 목록에서 앱을 선택하세요.
    2. 앱이 Sign in with Apple 능력을 활성화되어 있는지 확인하세요. 애플 로그인 기능 활성화 체크박스
    3. 만약 활성화되지 않았다면 활성화하세요.
  4. 모두로 돌아가기 All Identifiers

    모든 식별자 네비게이션 버튼
  5. 클릭하세요. App Ids 그리고 Services IDs

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

    1. 플러스 버튼 클릭

      새 서비스 ID 추가 버튼
    2. 선택하세요. Servcice IDs 클릭하세요. Continue

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

      서비스 ID 세부 정보 입력
    4. 으로 사용하고 있습니다. Register

      세부 정보를 확인하고
    5. 서비스 ID 등록 확인

      새로 생성된 서비스
    6. 새로 생성된 서비스 ID 선택 Sign in with Apple 기능을 활성화합니다.

      기능 활성화
    7. 설정하기 Sign In with Apple

      애플 로그인 버튼을 설정하기
    8. 이것을 Primary App ID __CAPGO_KEEP_0__

      기본 앱 ID 설정
    9. 앱 ID를 설정하는 기본 앱 ID 드롭다운

      애플 로그인 버튼을 설정하기
    10. 다음 단계를 클릭하세요. Done

      도메인 및 리턴 URL 설정 확인
    11. 클릭하여 서비스 설정을 계속하세요. Continue

      클릭하여 서비스 설정을 저장하세요.
    12. 키 생성 Save

      키 생성 섹션

모두로 돌아가세요.

다음 단계를 클릭하세요.
  1. 설정 완료 후에 돌아와야 합니다. All Identifiers

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

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

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

    주의
  5. 클릭 Sign in with Apple and Configure

    Apple과 Android를 위한 Sign in with Apple 설정
  6. 기본 App ID를 선택하고 Save

    기본 App ID를 선택하는 방법
  7. 클릭하여 Continue

    설정 키 구성에 대한 Continue 버튼
  8. 클릭하여 Register

    키 생성에 대한 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. AndroidManifest.xml 파일을 Android Studio에서 열겠습니다. AndroidStudio

      AndroidManifest.xml
    2. Apple과 Android에서 사용하는 Social Login 플러그인을 설정하는 방법 MainActivity 필요한 Intent 필터를 추가하세요

      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.java 파일을 Android Studio에서 열어주세요 MainActivity
    1. MainActivity.java 파일에 다음 코드를 추가하세요: __CAPGO_KEEP_0__ MainActivity

      MainActivity에 다음 코드를 추가하세요: __CAPGO_KEEP_0__
    2. Add the following code:

      Code to add to MainActivity for handling deep links
      @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 그러나 ,메소드는 조금 다릅니다. initialize 클립보드에 복사

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

앱을 만드는

제목: 앱을 만드는
  1. 앱 ID가 아직 없다면 플러스 버튼을 클릭하십시오

    새로운 식별자 플러스 버튼을 추가하십시오
  2. 선택 App IDs 그리고 계속 클릭

    앱 ID 타입 선택
  3. 타입 클릭 App 그리고 클릭 Continue

    앱 타입 선택
  4. 설명과 앱 ID 입력

    설명과 번들 ID 입력
  5. 활성화 Sign with Apple 기능

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

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

    앱 등록 세부 정보를 확인 중입니다

애플 로그인 Android에서 계속하기

애플 로그인 Android에서 계속하기 제목

애플 로그인 Android을 사용 중이라면 애플 로그인 Android 인증 및 계정 흐름을 계획하고 사용하는 경우, 그것을 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login과 연결하세요 Using @capgo/capacitor-social-login을 사용하여 @capgo/capacitor-social-login의 네이티브 기능을 구현하세요 @capgo/capacitor-social-login @capgo/capacitor-social-login의 구현 세부 정보를 확인하세요 @capgo/capacitor-social-login @capgo/capacitor-passkey 구현 세부 사항에 대한 @capgo/capacitor-passkey @capgo/capacitor-native-biometric 구현 세부 사항에 대한 @capgo/capacitor-native-biometric, 그리고 두 단계 인증 구현 세부 사항에 대한 두 단계 인증.