コンテンツにジャンプ

Apple ログイン

GitHub

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

難しい設定

  • バックエンドが必要
  • Androidのフローを理解する

Androidのフローを理解する

section

Android上での流れを図で説明します。

今、課題とフローのことを理解しているので、設定を始めましょう。

  1. Apple Developer Portalにログインする 「Apple Developer Portalの識別子」セクションをクリックする.

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

    Apple Developer Portalの識別子画面

    このフィールドが次のようになっていることを確認する

    __CAPGO_KEEP_0__
    1. __CAPGO_KEEP_0__ App IDs
    2. App 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

      詳細を確認し、
    5. サービスIDの登録を確認する

      新しく作成したサービス
    6. 新しく作成したサービスID Sign in with Apple 機能

      有効にする
    7. 設定を変更する Sign In with Apple

      Appleのサインインボタンを設定する
    8. 次のステップで設定したApp IDが Primary App ID 設定する必要があります

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

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

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

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

      サービス設定のボタンをクリックしてください。
  1. すべてに戻る All Identifiers

    すべての識別子ナビゲーション ボタン
  2. クリックしてください Keys

    Apple Developer Portalのキーセクション
  3. プラスアイコンをクリックしてください

    新しいキーを追加するボタン
  4. キー名を入力してください

    注記
  5. とクリックしてください Sign in with Apple Keys section in Apple Developer Portal Configure

    Appleサインインの有効化と設定
  6. 主なApp IDを選択し、 Save

    主なApp IDの選択
  7. ボタンをクリック Continue

    キー設定の続行ボタン
  8. キー生成の登録ボタン Register

    キーIDをコピーし、キーをダウンロードしてください。
  9. キーIDとダウンロードボタン画面

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

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

Androidで使用するには Login with Apple が必要です。バックエンドで使用されます。 Team IDを取得する

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

  2. この場所で Team ID

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

図で示されているように、バックエンドはアプリに必要な手動変更を実行するステップを実行します。 Redirect back to the appこのステップは

  1. アプリの設定 AndroidManifest.xml
    1. ファイルを開きます。ここでは AndroidStudio

      AndroidManifest.xmlファイルをAndroid Studioで開きます
    2. AppleとAndroidの 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
    1. Android Studioで MainActivity

      MainActivity.javaファイルを開く
    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);
      }

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

この例では、以下の機能が提供されます。

  • シンプルなJSONデータベース
  • Appleのサーバーから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. App IDがなければ、プラスボタンをクリックしてください

    新しい識別子を追加する
  2. 選択 App IDs 続けてクリック

    App ID のタイプを選択
  3. タイプをクリック App App のタイプを選択 Continue

    説明とアプリ ID を入力
  4. アプリの説明とバンドル ID を入力

    有効
  5. 機能 Sign with Apple Apple のサインイン機能を有効

    クリック
  6. capability Continue

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

    アプリ登録の詳細を確認中

Apple AndroidでAppleログインから続きます

Apple AndroidでAppleログインから続きます

Apple AndroidでAppleログインを使用している場合 Apple AndroidでAppleログインを使用しています Apple AndroidでAppleログインを使用している場合 Using @capgo/capacitor-social-login for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, capgo/capacitor-passkey capgo/capacitor-passkeyの実装詳細について capgo/capacitor-native-biometric capgo/capacitor-native-biometricの実装詳細について 2要素認証 2要素認証の実装詳細について