メインコンテンツにスキップ

Apple login on Android

GitHub

Android 上の Apple ログインはハックです。Apple は Android に対して公式のサポートを提供していないため、解決策は少しハック的です。 Sign in with Apple Android は現在、OAuth2 ウェブサイトを表示するために Chrome タブを使用しています。このアプローチには、以下のような課題があります:

__CAPGO_KEEP_0__

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

Android上のフローを理解する

Android上のフローを理解する

Android上のフローを図で説明します:

課題とフローの理解をもとに、設定を始めましょう。

サービスIDを作成する

サービスIDを作成する
  1. Apple Developer Portalにログインする Apple Developer Portalにログインする.

  2. クリックする Identifiers.

    Apple Developer Portal Identifiers

    このような画面が表示されるはずです。

    Apple Developer Portal Identifiers
    1. このフィールドが App IDs
    2. このフィールドが
  3. Apple Login for IOSが設定されていない場合は、以下の手順でApp IDを作成してください。 Sign in with Apple create app stepの手順に従ってください。

    1. Click on your app アプリをリストから選択
    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登録を確認するにはクリックしてください。

      新規サービスIDの選択
    6. オプションを有効にする Sign in with Apple オプション

      サービスIDのSign in with Appleの有効化
    7. 設定 Sign In with Apple

      Sign in with Appleの設定ボタン
    8. 設定 Primary App ID App IDが前のステップで設定されたものに設定されていることを確認する

      プライマリApp IDのドロップダウン設定
    9. ホストするバックエンドのドメインを追加する

      ドメインとリターンURLの設定
    10. を使用します。 Done

      次のボタンをクリックしてください。
    11. ドメインとリターンURLの設定を確認してください。 Continue

      サービス設定の
    12. ボタンをクリックしてください。 Save

      サービス設定の保存ボタン

キーを作成中

キーを作成する
  1. すべてに戻る All Identifiers

    すべての識別子
  2. クリックしてください Keys

    Apple Developer Portalのキーセクション
  3. プラスアイコンをクリック

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

    注意:
  5. Select Sign in with Apple and click Configure

    Enabling and configuring Sign in with Apple for the key
  6. Select the primary App ID, and press Save

    Selecting primary App ID for the key
  7. Click on Continue

    Continue button for key configuration
  8. クリックしてください Register

    __CAPGO_KEEP_0__のキー生成登録ボタン
  9. __CAPGO_KEEP_0__のキーIDをコピーし、キーをダウンロードしてください。

    __CAPGO_KEEP_0__のキーIDとダウンロードボタン画面
  10. __CAPGO_KEEP_0__をダウンロードしたキーを、バックエンドフォルダに保存してください。

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

使用するには Login with Apple Androidで使用するには、チーム IDを取得する必要があります。 Team ID後端で使用します。

  1. Capgoアカウントの開発者アカウントにアクセスし このウェブサイト 下部にスクロール

  2. 開発者アカウントのチーム IDの場所を探す Team ID

    アプリのリダイレクト設定

チーム IDは後端で使用されます。 Redirect back to the app. この変更は、手動でアプリを変更する必要があります。

  1. Modify the AndroidManifest.xml
    1. Open the file, I will use AndroidStudio

      AndroidManifest.xmlファイルをAndroid Studioで開きます
    2. Find the MainActivity と、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. Modify the MainActivity
    1. Please open the MainActivity

      MainActivity.javaファイルをAndroid Studioで開きます
    2. MainActivityに追加する必要がある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);
      }

A backend is required for Android, but configuring a backend will also impact IOS. An example backend is provided here

This example provides the following:

  • A simple JSON database
  • A way to request the JWT from Apple’s servers
  • A simple JWT verification

このチュートリアルで述べたすべてのことを考慮して、以下のようになります。 env セクションの見本は以下のようになります。

  • ANDROID_SERVICE_ID = Service 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"
}

プラグインの使用方法はIOSと同じです。詳細はそのセクションを参照してください。']} (Note: The translation is based on the provided source text and may not be perfect. It's always recommended to have a native speaker review the translation for accuracy and cultural context.) The protected tokens were left unchanged as per the request. The placeholders __CAPGO_KEEP_0__ were not present in the source text. The translations are in the same order as the input. The JSON object has exactly one key named login translations HOWEVER, the initialize method changes a bit.

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

    Appの種類を選択
  4. 説明とApp IDを入力

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

    Appleサインイン機能の有効化
  6. クリック Continue

    アプリ登録のための「続行」ボタン
  7. 確認の詳細を確認し Register

    アプリ登録の詳細の確認

Android上のAppleログインから続行

Android上のAppleログインから続行のセクション

Appleログインを使用している場合 Android上のAppleログイン アプリの認証とアカウントフローの計画に使用する場合、Android上のAppleログインを接続する @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 Two-factor authentication Edit page