Apple Androidでのログイン
インストール
Android上のAppleログインはハックです。 AppleはAndroidに対して公式のサポートを提供していないため、解決策は少しハック的です。 Sign in with Apple Android上では、解決策は少し工夫が必要です。
難しい設定
- バックエンドが必要
- Androidのフローを理解すること
タイトル「Androidのフローを理解する」
フローをAndroidで説明するために、図を使用してみましょう:図を使用してAndroidのフローを説明する
flowchart TD
A("await SocialLogin.login()") -->|Handled in the plugin|B(Generate the login URL)
B --> |Pass the link| C(Open the Chrome browser)
C --> D(Wait for the user to login)
D --> |Apple redirects to your backend|E(Handle the data returned from Apple)
E --> F(Redirect back to the app)
F --> G(Return to JS)
今、課題とフローについて理解したので、設定を開始しましょう。
サービスIDを作成します。
「サービスIDを作成します。」というセクション-
Apple Developer Portalにログインします。 Apple デベロッパー ポータル.
-
クリックして
Identifiers.
Apple Developer Portalの識別子画面
- アプリIDが見つかることを確認してください。
App IDs - 注記
- アプリIDが見つかることを確認してください。
-
アプリの設定で、以下の機能が有効になっていることを確認してください。
Sign in with Appleアプリを選択- アプリのリストからアプリを選択
- Sign in with Apple 機能が有効になっているチェックボックス
Sign in with Apple有効になっていない場合は、有効にします。
- アプリ
- アプリのリストからアプリを選択
-
すべてのアイテムに戻る
All Identifiers
-
クリックしてください
App IdsそしてServices IDs
-
新しい識別子を作成
-
プラスボタンをクリック
-
選択
Servcice IDsクリックしてContinue
-
説明と識別子を入力してクリック
Continuie.
-
詳細を確認し、クリックしてください。
Register
-
新しく作成されたサービス ID をクリックしてください。
-
オプションを有効にします。
Sign in with Appleoption
-
Enable the option
Sign In with Apple
-
を確認してください。
Primary App IDに設定されているApp IDを使用してください。
-
を追加してください。
-
データを確認し、クリックしてください。
Done
-
クリックしてください。
Continue
-
クリックしてください。
Save
-
キーを作成しています。
「キーを作成しています。」と表題のセクション-
すべての識別子に戻ります。
All Identifiers
-
クリックしてください。
Keys
-
プラスアイコンをクリック
-
キーに名前を付け
-
選択
Sign in with AppleとクリックConfigure
-
主なApp IDを選択し、
Save
-
クリックしてください
Continue
-
クリックしてください
Register
-
キーIDをコピーしてキーをダウンロードしてください。
-
ダウンロードしたキーファイルをバックエンドフォルダに保存してください。
チームIDの取得
チームIDの取得Androidで使用するには、チームIDを取得する必要があります。バックエンド側で使用されます。 Login with Apple Androidで使用するには、チームIDを取得する必要があります。バックエンド側で使用されます。 Team IDチームIDを取得するには、以下のサイトをご覧ください。
-
チームIDの取得 このサイトをご覧ください。 とスクロール
-
を探す
Team ID
アプリのリダイレクト設定
セクションのタイトル「アプリのリダイレクト設定」図では、バックエンドがアプリに実行されるステップを実行します。このステップは Redirect back to the appを実行する必要があります。このステップには、アプリの変更が必要です。
- を変更する
AndroidManifest.xml-
ファイルを開きます。ここでは
AndroidStudio
-
を探す
MainActivity以下のIntentフィルタを追加します
<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>
-
- MainActivity
MainActivity-
Android StudioでMainActivity.javaファイルを開いてください
MainActivity
-
codeをMainActivityに追加して深リンクを処理
@Overrideprotected 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' }})アプリを作成
セクションのタイトル「アプリを作成」-
既存の App ID がなければ、プラスボタンをクリック
-
選択
App IDs続行
-
種類をクリックする
AppとクリックするContinue
-
説明とアプリ ID を入力する
-
有効にする
Sign with Apple機能
-
クリックする
Continue
-
詳細を確認し、クリックする
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要素認証