Apple Android でログイン
このプラグインのインストール手順と全マークダウンガイドのコピー可能な設定の質問をコピーします。
AndroidでAppleログインはハックです。AppleはAndroidに対して公式のサポートを提供していないため、解決策は少しハックです。 Sign in with Apple Androidは現在、OAuth2ウェブサイトを表示するためにChromeタブを使用しています。このアプローチには、次のような課題があります。
難しい設定
- バックエンドが必要
- 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 Developer Portal.
-
Apple Developer Portalの識別子セクション
Identifiers.
Apple Developer Portalの識別子画面
- App IDが見つかるようにしてください。
App IDs - Apple Developer Portalの識別子画面
- App IDが見つかるようにしてください。
-
アプリの設定を確認してください。
Sign in with Appleアプリのリストからアプリを選択してください。- アプリの設定を確認してください。
- Sign in with Apple機能を有効にします。
Sign in with AppleSign in with Apple機能を有効にします。
- __CAPGO_KEEP_0__を有効にしていない場合は、有効にします。
- アプリの設定を確認してください。
-
すべてに戻る
All Identifiers
-
__CAPGO_KEEP_1__をクリックしてください
App Idsと移動してくださいServices IDs
-
新しい識別子を作成
-
プラスボタンをクリック
-
選択してください
Servcice IDsとクリックしてくださいContinue
-
__CAPGO_KEEP_0__を入力し、識別子を入力し、クリックしてください
Continuie.
-
詳細を確認し、
Register
-
新しく作成したサービス
-
オプション
Sign in with AppleサービスIDの
-
サービスIDの設定
Sign In with Apple
-
__CAPGO_KEEP_0__が
Primary App ID__CAPGO_KEEP_0__に設定されていることを確認してください
-
あなたがバックエンドをホストするドメインを追加してください。
-
データを確認し、クリックしてください。
Done
-
サービス設定のための
Continue
-
サービス設定のための
Save
-
キーを作成中
セクションのタイトルは “キーを作成中”-
すべての識別子に戻る
All Identifiers
-
クリックしてください
Keys
-
プラスアイコンをクリックしてください
-
キー名を入力してください
-
クリックしてください
Sign in with AppleAppleサインインの設定と構成Configure
-
Select the primary App ID, and press
Save
-
Click on
Continue
-
Click on
Register
-
Copy the key ID and download the key.
-
ダウンロードしたキーをバックエンドフォルダに保存してください。
チームIDを取得する
チームIDを取得するセクション使用するには Login with Apple Androidで使用するには、チームIDを取得する必要があります。 Team ID. バックエンドで使用されます
-
Go to このウェブサイト と下にスクロール
-
チームIDの
Team ID
アプリのリダイレクト設定
セクションのタイトル “アプリのリダイレクト設定”図では、バックエンドが実行されるステップとして Redirect back to the appが行われます。このステップには、アプリの変更が必要です。
- 変更する
AndroidManifest.xml-
ファイルを開きます。ここでは
AndroidStudio
-
チームIDの
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
-
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にも影響します。例として、以下のバックエンドが提供されています。 ここ
この例では、以下の機能が提供されます。
- シンプルなJSONデータベース
- AppleのサーバーからJWTを要求する方法
- シンプルなJWT検証
__CAPGO_KEEP_0__ env __CAPGO_KEEP_0__
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と続けるにはクリック
-
種類をクリック
AppクリックContinue
-
説明とアプリIDを入力
-
有効化
Sign with Apple機能
-
クリック
Continue
-
詳細を確認し、クリック
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