Apple ログイン
このプラグインのインストール手順と全マークダウンガイドを含む設定プロンプトをコピーする
AndroidでAppleログインはハックです。AppleはAndroidに対して公式のサポートを提供していないため、解決策は少しハックです。 Sign in with Apple Androidは現在、OAuth2ウェブサイトを表示するためにChromeタブを使用しています。このアプローチには、次の課題があります:
難しい設定
- バックエンドが必要
- Androidのフローを理解する
Androidのフローを理解する
sectionAndroid上での流れを図で説明します。
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 Developer Portalの識別子」セクションをクリックする.
-
このような画面が表示されるはずです。
Identifiers.
このフィールドが次のようになっていることを確認する
- __CAPGO_KEEP_0__
App IDs - App ID を見つけることができることを確認してください。
- __CAPGO_KEEP_0__
-
アプリの設定を確認してください。
Sign in with Appleアプリを選択してください。- リストからアプリを選択してください。
- アプリの設定を確認してください。
Sign in with Appleアプリの設定を確認してください。
- 有効になっていない場合は有効にする必要があります。
- リストからアプリを選択してください。
-
すべてに戻る
All Identifiers
-
クリックしてください
App IdsそしてServices IDs
-
新しい識別子を作成する
-
プラスボタンをクリックしてください
-
選択してください
Servcice IDsクリックしてくださいContinue
-
説明と識別子を入力し、クリックしてください
Continuie.
-
を使用しています。
Register
-
サービスIDの登録を確認する
-
新しく作成したサービスID
Sign in with Apple機能
-
設定を変更する
Sign In with Apple
-
次のステップで設定したApp IDが
Primary App ID設定する必要があります
-
バックエンドをホストするドメインを追加する
-
とを使用します。
Done
-
ドメインとリターンURLの設定の確認
Continue
-
サービス設定のボタンをクリックしてください。
Save
-
キーを作成中
「キーを作成中」のセクション-
すべてに戻る
All Identifiers
-
クリックしてください
Keys
-
プラスアイコンをクリックしてください
-
キー名を入力してください
-
とクリックしてください
Sign in with AppleKeys section in Apple Developer PortalConfigure
-
主なApp IDを選択し、
Save
-
ボタンをクリック
Continue
-
キー生成の登録ボタン
Register
-
キーIDとダウンロードボタン画面
-
ダウンロードしたキーをバックエンドフォルダに保存してください。
チームIDを取得する
「チームIDを取得する」のセクションAndroidで使用するには Login with Apple が必要です。バックエンドで使用されます。 Team IDを取得する
-
このウェブサイトに移動してください このウェブサイト 下にスクロールしてください
-
この場所で
Team ID
アプリのリダイレクト設定
セクションのタイトルは「アプリのリダイレクト設定」図で示されているように、バックエンドはアプリに必要な手動変更を実行するステップを実行します。 Redirect back to the appこのステップは
- アプリの設定
AndroidManifest.xml-
ファイルを開きます。ここでは
AndroidStudio
-
AppleとAndroidの
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-
Android Studioで
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);}
-
A backend is required for Android, but configuring a backend will also impact IOS. An example backend is provided ここ
この例では、以下の機能が提供されます。
- シンプルなJSONデータベース
- AppleのサーバーからJWTを要求する方法
- シンプルなJWT検証
ここ env セクションの見た目は次のようになります。
ANDROID_SERVICE_ID= サービスIDIOS_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' }})アプリを作成する
セクション:アプリを作成する-
App IDがなければ、プラスボタンをクリックしてください
-
選択
App IDs続けてクリック
-
タイプをクリック
AppApp のタイプを選択Continue
-
アプリの説明とバンドル ID を入力
-
機能
Sign with AppleApple のサインイン機能を有効
-
capability
Continue
-
詳細を確認しクリック
Register
Apple AndroidでAppleログインから続きます
Apple AndroidでAppleログインから続きますApple AndroidでAppleログインを使用している場合 Apple AndroidでAppleログインを使用しています Apple AndroidでAppleログインを使用している場合 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-passkey capgo/capacitor-passkeyの実装詳細について capgo/capacitor-native-biometric capgo/capacitor-native-biometricの実装詳細について 2要素認証 2要素認証の実装詳細について