メニューに進む

Apple Android ログイン

GitHub

Android上のAppleログインはハックです。AppleはAndroidに対して公式のサポートを提供していないためです。 Sign in with Apple Android上のAppleログインの解決策は少しハック的です。

Androidは現在、OAuth2ウェブサイトを表示するためにChromeタブを使用しています。このアプローチには、以下の課題があります:

  • 難しい設定
  • バックエンドが必要

フローを説明するための図を使用してください:

課題やフローを理解したので、設定を始めましょう。

  1. Apple Developer Portalにログイン Apple Developer Portal.

  2. Apple Developer Portalの識別子セクション Identifiers.

    画面が次のようになります。

    Apple Developer Portalの識別子画面

    このフィールドが
    1. App IDが見つかります。 App IDs
    2. 注意
  3. アプリの Sign in with Apple 機能が有効になっていることを確認してください。

    1. リストからアプリを選択 機能が有効になっていることを確認
    2. 機能が有効になっていることを確認 Sign in with Apple Appleログイン機能が有効なチェックボックス 有効になっていない場合は、有効にします。
    3. すべてに戻る
  4. Appleログイン設定 All Identifiers

    すべての識別子ナビゲーション ボタン
  5. __CAPGO_KEEP_0__をクリックして App Ids と移動 Services IDs

    サービスIDのセクションへのナビゲーション
  6. 新しい識別子を作成

    1. プラスボタンをクリック

      新しいサービスIDを追加
    2. 選択 Servcice IDs とクリック Continue

      サービスIDの選択オプション
    3. 説明と識別子を入力してクリック Continuie.

      サービスIDの詳細を入力
    4. Please verify the details and click Register

      Confirming service ID registration
    5. Click on the the newly created service

      Selecting newly created service ID
    6. Enable the Sign in with Apple option

      Enabling Sign in with Apple for service ID
    7. Configure the Sign In with Apple

      Configure button for Sign in with Apple
    8. Ensure that the Primary App ID __CAPGO_KEEP_0__を前のステップで設定したApp IDに設定します。

      初期アプリIDを設定するドロップダウン
    9. あなたがバックエンドをホストするドメインを追加してください。

      ドメインとリターンURLフィールドを設定
    10. __CAPGO_KEEP_0__を確認し、クリック Done

      ドメインとリターンURLの設定を確認し、戻る
    11. Click on Continue

      サービス設定の続行ボタン
    12. Click on Save

      サービス設定の保存ボタン
  1. すべてに戻る All Identifiers

    すべての識別子ナビゲーション
  2. Click on Keys

    Apple Developer Portalのキーセクション
  3. Click on the plus icon

    新しいキーを追加
  4. キー名を入力

    __CAPGO_KEEP_0__
  5. __CAPGO_KEEP_4__ Sign in with Apple __CAPGO_KEEP_5__ Configure

    __CAPGO_KEEP_6__
  6. __CAPGO_KEEP_7__ Save

    __CAPGO_KEEP_8__
  7. Click on Continue

    Continue button for key configuration
  8. Click on Register

    Register button for key creation
  9. Copy the key ID and download the key.

    Key ID and download button screen
  10. ダウンロードしたキーをバックエンドフォルダに保存してください。

    ダウンロードしたキーファイル

チームIDを取得する

チームIDを取得する

Capacitorを使用するには Login with Apple Androidで使用するには、チームIDを取得する必要があります。 Team IDバックエンドで使用するため

  1. Capgoの このウェブサイト このウェブサイトに移動して下にスクロールしてください。

  2. アプリを検索してください Team ID

    開発者アカウントのTeam IDの場所を探してください

図では、バックエンドがアプリに実行するステップとして「」と呼ばれるステップを実行します。 Redirect back to the appこのステップには、アプリの変更が必要です。

  1. 変更する AndroidManifest.xml
    1. ファイルを開いてください。ここでは「」を使用します。 AndroidStudio

      Android Studioで「AndroidManifest.xml」ファイルを開いてください
    2. 「」を探してください。 MainActivity MainActivityに追加する「」のIntentフィルタを追加してください。

      MainActivityに追加する「code」のIntentフィルタを追加してください。
      <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. Modify the MainActivity
    1. pleasese the MainActivity

      MainActivity.java file in Android Studio
    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);
      }

ここ 以下の機能が提供されます。

シンプルなJSONデータベース

  • この例では、
  • AppleサーバからJWTを要求する方法
  • JWTの簡単な検証

= サービスID env = アプリID

  • ANDROID_SERVICE_ID = App ID
  • IOS_SERVICE_ID = App 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"
}

の使用方法 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 続行

    App IDの種類を選択する
  3. タイプをクリックしてください App とクリック Continue

    アプリタイプの選択
  4. 説明とアプリIDを入力してください

    アプリ説明とバンドルIDを入力
  5. 有効 Sign with Apple 機能

    Sign in with Apple機能の有効
  6. クリック Continue

    アプリ登録の続行ボタン
  7. 詳細を確認してクリック Register

    アプリ登録詳細の確認

Apple Android から続けてください

Apple Android から続けてください

Android を使用している場合 Android を使用している場合 Apple login を使用して認証とアカウントフローを計画し、Cloudflare の Capgo を接続します。 @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 実装詳細の詳細については、@capgo/capacitor-native-biometric に記載されています。 2要素認証 実装詳細については、2要素認証に記載されています。