コンテンツにジャンプする

Apple ログイン

GitHub

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

難しい設定

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

Androidのフローを理解すること

Androidのフローを理解する

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 __CAPGO_KEEP_0__ 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. にクリックしてください。 Sign in with Apple 新しく作成したサービスIDを選択する

      オプションを有効にする
    7. AppleとAndroidの両方でサインイン機能を有効にするには、 Sign In with Apple

      サインイン機能を有効にするためのボタンを設定する
    8. 以下の設定を確認する Primary App ID App IDを設定する

      App IDを設定する
    9. 次のステップで設定したApp IDを選択する

      バックエンドをホストするドメインを追加する
    10. ドメインとリターンURLの設定を確認し、次のボタンをクリックしてください。 Done

      サービス設定の次のステップに進むには、以下のボタンをクリックしてください。
    11. サービス設定の次のステップに進むには、以下のボタンをクリックしてください。 Continue

      キーを作成中
    12. キーを作成中 Save

      すべてのページに戻る

targetLanguage

pagePath
  1. protectedTokens All Identifiers

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

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

    新しいキーを追加
  4. キー名を入力してください

    注記
  5. クリックしてください Sign in with Apple protectedTokens Configure

    AppleとAndroidのSign in with Appleの設定と構成
  6. 主なApp IDを選択し、 Save

    主なApp IDの選択
  7. Click on Continue

    続行ボタン
  8. Click on Register

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

    キーIDとダウンロードボタン画面
  10. ダウンロードした__CAPGO_KEEP_0__ファイルを探してください。

    ダウンロードした__CAPGO_KEEP_0__ファイルをバックエンドフォルダに保存してください。

__CAPGO_KEEP_0__ファイル

チームIDを取得する

「チームIDを取得する」のセクション Login with Apple Androidで使用するには Team ID__CAPGO_KEEP_0__が必要です。バックエンドで使用されます。

  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);
      }

items ここ

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

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

items 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のセクションを参照してください。 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 App ID の種類を選択 Continue

    説明と App ID を入力
  4. 説明と Bundle ID を入力

    有効
  5. 機能 Sign with Apple Sign in with Apple の機能を有効

    クリック
  6. __CAPGO_KEEP_0__ Continue

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

    アプリ登録の詳細の確認

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

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

Appleログインを使用している場合 Appleログインを使用して 認証とアカウントフローの計画に使用している場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login ネイティブ機能の@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要素認証を参照してください。