メインコンテンツにジャンプ

Apple Android でログイン

GitHub

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

難しい設定

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

「Androidのフローを理解する」のセクション

フローをAndroidで説明するために、図を使用してみましょう:

Androidのフローを理解する

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

サービスIDを作成する

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

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

    以下のような画面が表示されます。

    Apple Developer Portalの識別子画面

    このフィールドが
    1. App IDが見つかるようにしてください。 App IDs
    2. Apple Developer Portalの識別子画面
  3. アプリの設定を確認してください。 Sign in with Apple アプリのリストからアプリを選択してください。

    1. アプリの設定を確認してください。 Sign in with Apple capability enabled checkboxを有効にします。
    2. Sign in with Apple機能を有効にします。 Sign in with Apple Sign in with Apple機能を有効にします。 Sign in with Apple機能を有効にします。
    3. __CAPGO_KEEP_0__を有効にしていない場合は、有効にします。
  4. すべてに戻る All Identifiers

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

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

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

      サービスIDの追加ボタン
    2. 選択してください Servcice IDs とクリックしてください Continue

      サービスIDの選択オプション
    3. __CAPGO_KEEP_0__を入力し、識別子を入力し、クリックしてください Continuie.

      サービスIDの詳細を入力中
    4. 詳細を確認し、 Register

      サービスIDの登録を確認
    5. 新しく作成したサービス

      新しく作成したサービスIDを選択
    6. オプション Sign in with Apple サービスIDの

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

      Appleサインインボタンの設定
    8. __CAPGO_KEEP_0__が Primary App ID __CAPGO_KEEP_0__に設定されていることを確認してください

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

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

      ドメインと戻りURLの設定の確認
    11. サービス設定のための Continue

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

      Saveボタンをクリックしてください。
  1. すべての識別子に戻る All Identifiers

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

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

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

    注
  5. クリックしてください Sign in with Apple Appleサインインの設定と構成 Configure

    キー
  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. Click on Register

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

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

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

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

  1. Go to このウェブサイト と下にスクロール

  2. チームIDの Team ID

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

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

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

      AndroidManifest.xmlファイルをAndroid Studioで開きます
    2. チームIDの 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. ください MainActivity

      Android Studioで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);
      }

バックエンド設定

バックエンド設定

Androidではバックエンドが必要ですが、バックエンドを設定するとiOSにも影響します。例として、以下のバックエンドが提供されています。 ここ

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

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

__CAPGO_KEEP_0__ env __CAPGO_KEEP_0__

  • 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 クリック Continue

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

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

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

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

    アプリケーション登録の詳細を確認中

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

「AndroidでAppleログインから続けて」セクション

Capacitorを使用している場合 AndroidでAppleログイン 認証とアカウントフローの計画に使用する場合、Capacitorを 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-social-login @capgo/capacitor-passkey @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric 2要素認証 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-native-biometric