コンテンツにジャンプ

Apple Androidでのログイン

GitHub

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

難しい設定

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

図を使用してAndroidのフローを説明する

今、課題とフローについて理解したので、設定を開始しましょう。

  1. Apple Developer Portalにログインします。 Apple デベロッパー ポータル.

  2. クリックして Identifiers.

    Apple Developer Portalの識別子画面が表示されます。

    Apple Developer Portalの識別子画面

    このフィールドが
    1. アプリIDが見つかることを確認してください。 App IDs
    2. 注記
  3. アプリの設定で、以下の機能が有効になっていることを確認してください。 Sign in with Apple アプリを選択

    1. アプリのリストからアプリを選択 アプリの設定で、以下の機能が有効になっていることを確認してください。
    2. Sign in with Apple 機能が有効になっているチェックボックス 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

      サービス ID 登録の確認
    5. 新しく作成されたサービス ID をクリックしてください。

      新しく作成されたサービス ID を選択してください。
    6. オプションを有効にします。 Sign in with Apple option

      Apple のサインインの設定ボタンを設定してください。
    7. Enable the option Sign In with Apple

      option
    8. を確認してください。 Primary App ID に設定されているApp IDを使用してください。

      App IDのドロップダウン
    9. を追加してください。

      ドメインとリターンURLのフィールド
    10. データを確認し、クリックしてください。 Done

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

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

      サービス設定の保存ボタン
  1. すべての識別子に戻ります。 All Identifiers

    識別子全般に戻るボタン
  2. クリックしてください。 Keys

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

    新しいキーを追加
  4. キーに名前を付け

    キー名を入力するフィールド
  5. 選択 Sign in with Apple とクリック Configure

    Sign in with Appleの有効化と設定
  6. 主なApp IDを選択し、 Save

    主キー用の主アプリIDの選択
  7. クリックしてください Continue

    キー設定の続行ボタン
  8. クリックしてください Register

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

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

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

チームIDの取得

チームIDの取得

Androidで使用するには、チームIDを取得する必要があります。バックエンド側で使用されます。 Login with Apple Androidで使用するには、チームIDを取得する必要があります。バックエンド側で使用されます。 Team IDチームIDを取得するには、以下のサイトをご覧ください。

  1. チームIDの取得 このサイトをご覧ください。 とスクロール

  2. を探す Team ID

    開発者アカウントの

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

  1. を変更する AndroidManifest.xml
    1. ファイルを開きます。ここでは AndroidStudio

      Android StudioでAndroidManifest.xmlファイルを開きます
    2. を探す 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 MainActivity
    1. Android Studioで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);
      }

Androidではバックエンドが必要ですが、バックエンドを設定するとiOSにも影響します。Androidの例バックエンドは ここ

この例では以下のものが提供されています:

  • シンプルなJSONデータベース
  • AppleのサーバからJWTを要求する方法
  • シンプルなJWT検証

= サービスID env =

  • ANDROID_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"
}

このセクションでは、機能の使用方法について詳しく説明しています。 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 続行

    Apple ID の種類を選択する
  3. 種類をクリックする App とクリックする Continue

    アプリの種類を選択する
  4. 説明とアプリ ID を入力する

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

    Apple のサインイン機能を有効にする
  6. クリックする Continue

    アプリの登録の続行
  7. 詳細を確認し、クリックする Register

    アプリの登録情報の確認

Apple ログイン on Android から続けてください

Apple ログイン on Android から続けてください

Apple ログイン on Android を使用している場合 Apple ログイン on Android Apple ログイン on Android を使用して認証とアカウントフローの計画に利用する場合、Capacitor から接続してください @capgo/capacitorのソーシャルログインを使用します。 Capacitor-capgo/capacitor-social-loginのネイティブ機能のために @capgo/capacitor-ソーシャルログイン @capgo/capacitor-social-loginの実装詳細のために @capgo/capacitor-パスキー @capgo/capacitor @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric 2要素認証 2要素認証