コンテンツにジャンプ

AndroidでAppleログイン

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

Androidは現在、OAuth2ウェブサイトを表示するためにChromeタブを使用しています。このアプローチには、以下の課題があります。

  • 難しい設定
  • バックエンドが必要

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

課題とフローを理解したので、設定の開始に進みましょう。

  1. ログイン Apple Developer Portal.

  2. クリック Identifiers.

    Apple Developer Portal Identifiers

    画面が以下のようになります。

    Apple Developer Portal Identifiers
    1. このフィールドが 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. __CAPGO_KEEP_0__を作成

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

      __CAPGO_KEEP_0__サービスIDボタン
    2. 選択 Servcice IDs そしてクリック Continue

      サービスIDの選択オプション
    3. 説明と識別子を入力してクリック Continuie.

      サービスIDの詳細を入力
    4. 詳細を確認し、クリックしてください Register

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

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

      サービスIDのSign in with Appleを有効にしてください
    7. __CAPGO_KEEP_1__のSign in with Appleの設定 Sign In with Apple

      Sign in with Appleの設定を確認してください
    8. __CAPGO_KEEP_2__がApp IDに設定されていることを確認してください Primary App ID __CAPGO_KEEP_3__のApp IDを設定してください

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

      ドメインとリターンURLの設定
    10. 確認するドメインとリターンURLの設定 Done

      __CAPGO_KEEP_0__
    11. クリックしてください Continue

      __CAPGO_KEEP_0__のサービス設定のための「続行」ボタンをクリックしてください
    12. クリックしてください Save

      __CAPGO_KEEP_0__のサービス設定のための「保存」ボタンをクリックしてください
  1. すべての識別子に戻る All Identifiers

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

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

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

    __CAPGO_KEEP_0__名を入力中
  5. 選択 Sign in with Apple 選択してクリック Configure

    キーにSign in with Appleを有効化および設定する
  6. 主なApp IDを選択し、 Save

    キー用の主なApp IDを選択
  7. Continue

    キー設定のためのContinueボタン
  8. Register

    キー作成のためのRegisterボタン
  9. キーIDをコピーし、キーをダウンロードしてください。

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

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

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

  1. チームIDを取得するには このウェブサイト 下にスクロールしてください

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

    __CAPGO_KEEP_1__

アプリのリダイレクト設定

アプリのリダイレクト設定

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

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

      AndroidManifest.xmlファイルを探します。
    2. ここに MainActivity 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. __CAPGO_KEEP_0__ MainActivity
    1. Please open the MainActivity

      MainActivity.javaファイルをAndroid Studioで開いてください
    2. Add the following code:

      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の検証

サービスID env アプリID

  • ANDROID_SERVICE_ID コピー
  • IOS_SERVICE_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"
}

__CAPGO_KEEP_0__の使用方法は変わりません。iOSと同じです。詳しくはそのセクションを参照してください。 login ただし、 「HOWEVER」initialize 「method」は少し変わります。

await SocialLogin.initialize({
apple: {
clientId: 'ee.forgr.io.ionic.starter.service2',
redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback'
}
})

アプリを作成する

アプリを作成する
  1. App IDが存在しない場合は、プラスボタンをクリックしてください。

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

    アプリIDの種類を選択する
  3. 種類を選択 App 続けて Continue

    アプリタイプの選択
  4. __CAPGO_KEEP_0__を入力してください

    __CAPGO_KEEP_0__とアプリIDを入力してください
  5. 有効 Sign with Apple 機能

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

    アプリ登録のための次のステップ
  7. __CAPGO_KEEP_0__の詳細を確認してください Register

    編集