コンテンツにジャンプ

Appleログイン

GitHub

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

難しい設定

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

Androidのフローを理解する

ソースガイド

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

今、課題とフローの認識ができたので、設定の開始に進みましょう。

  1. Apple Developer Portalにログインしてください Apple Developer Portalの「識別子」セクションをクリックしてください.

  2. Apple Developer Portalの「識別子」画面が表示されます Identifiers.

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

    Apple Developer Portalの識別子画面

    Apple Developer Portalの識別子セクション
    1. Apple Developer Portalにログイン App IDs
    2. App ID を見つけることができることを確認してください。
  3. アプリの Sign in with Apple 機能が有効になっていることを確認してください。

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

    すべての識別子ナビゲーションバUTTON
  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. AppleとAndroidの両方で機能するように Sign In with Apple

      Appleのサインインボタンの設定
    8. 次のステップで設定したApp IDが Primary App ID App IDのドロップダウンメニュー

      このドメインでバックエンドをホストする予定のドメインを追加してください。
    9. ドメインとリターンURLのフィールド

      注意
    10. 設定した情報を確認し、次のボタンをクリックしてください。 Done

      ドメインとリターンURLの設定を確認する
    11. サービス設定の続きに進むには、以下のボタンをクリックしてください。 Continue

      サービス設定の続きに進むには、以下のボタンをクリックしてください。
    12. サービス設定の保存には、以下のボタンをクリックしてください。 Save

      キーを作成する

キーを作成する

すべてのページに戻る
  1. __CAPGO_KEEP_0__ All Identifiers

    すべての識別子ナビゲーション ボタン
  2. Cloudflare Keys

    Capacitor
  3. GitHub

    Capgo
  4. code

    API
  5. bun Sign in with Apple Keys セクションのApple Developer Portalにクリックしてください Configure

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

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

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

    キー ID をコピーし、キーをダウンロードする
  9. キー ID とダウンロードボタンの画面

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

    ダウンロードした秘密鍵ファイル

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

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

  2. 以下の場所を見つけてください Team ID

    開発者アカウントのチームIDの場所

図では、バックエンドがアプリにリダイレクトするために必要なステップを実行します。このステップは、手動でアプリの設定を変更する必要があります。 Redirect back to the appアプリの設定

  1. ファイルを開いてください。ここでは AndroidManifest.xml
    1. AndroidManifest.xmlファイルをAndroid Studioで開いてください AndroidStudio

      アプリのリダイレクト設定
    2. AppleとAndroidの両方で機能するSocial Loginプラグインを使用するには、 MainActivity 次のIntentフィルタを追加してください

      Intent filter code to add in MainActivity
      <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に次のコードを追加してください MainActivity

      __CAPGO_KEEP_0__をMainActivityに追加してください
    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);
      }

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

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

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

items 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 __CAPGO_KEEP_0__

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

    Appのタイプを選択
  4. 説明とアプリIDを入力

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

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

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

    アプリ登録の詳細の確認

AndroidのAppleログインから続けて

AndroidのAppleログインから続けて

あなたが使用している AndroidのAppleログイン 認証とアカウントフローの計画に使用している場合、Appleログインを 使用する@capgo/capacitor-social-login 使用する@capgo/capacitor-social-login @capgo/capacitor-social-login @capgo/capacitor-social-login @capgo/capacitor-passkey Capgoの実装詳細については、@capgo/capacitor-passkeyを参照してください。 @capgo/capacitor-native-biometric Capgoの実装詳細については、@capgo/capacitor-native-biometricを参照してください。 2要素認証 2要素認証の実装詳細については、2要素認証を参照してください。