iOS セットアップ & バックエンド検証
このプラグインのインストール手順とフルマークダウンガイドを含むセットアッププロンプトをコピーできます。
iOSネイティブシステムを使用
iOSネイティブシステムの使用iOSでは、このプラグインは Apple App Attest から DeviceCheck フレームワーク。
要件
要件- iOS 14+
- 実際の検証フローで物理デバイスが推奨されます
- App Attest機能が有効になっているXcodeターゲット
Xcodeの設定
Xcode設定- XcodeでiOSアプリのターゲットを開きます。
- Go to Signing & Capabilities.
- Click + Capability と追加 App Attest.
App Attest自体には Info.plist Client flow
クライアントフロー
セクションのタイトル “Client flow”import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare();
const attestation = await AppAttest.createAttestation({ keyId, challenge: 'backend-registration-challenge',});
const assertion = await AppAttest.createAssertion({ keyId, payload: 'backend-request-payload',});送信 attestation.token そして assertion.token あなたのバックエンドに送信します。アプリ内で検証しないでください。
バックエンドワークフロー (iOS)
バックエンドワークフロー (iOS) セクション登録 (createAttestation)
登録 (createAttestation) セクション- バックエンドは一時
challenge. - アプリが呼び出し
createAttestation({ keyId, challenge }). - バックエンドはアプリの証明書の検証
- 証明書チェーンは有効であり、Apple App Attestにアンカーされています。
- アプリのIDはあなたのアプリと一致します (
bundleId, チーム) clientDataHashマッチSHA256(challenge)
- デバイスキー状態を保存 (
keyId, 公開鍵、および検証者メタデータ)
保護要求 (createAssertion)
セクション「保護要求 (createAssertion)」- バックエンドは、
payload(またはcanonical request hash入力). - アプリが
createAssertion({ keyId, payload }). - バックエンドは、以前保存されたキー材料でアサーション署名を検証します。
- 再生保護とnonce TTL チェックを強制します。
iOS スキーマ
iOS スキーマsequenceDiagram participant App as iOS App participant Plugin as AppAttest plugin participant Apple as Apple App Attest participant BE as Backend
BE->>App: one-time challenge App->>Plugin: prepare() Plugin->>Apple: generateKey() Apple-->>Plugin: keyId
App->>Plugin: createAttestation(keyId, challenge) Plugin->>Apple: attestKey(keyId, SHA256(challenge)) Apple-->>Plugin: attestation token Plugin-->>App: token + platform + format + keyId App->>BE: token + challenge + keyId BE->>BE: verify Apple attestation rules
BE->>App: one-time payload App->>Plugin: createAssertion(keyId, payload) Plugin->>Apple: generateAssertion(keyId, SHA256(payload)) Apple-->>Plugin: assertion token Plugin-->>App: token + platform + format + keyId App->>BE: token + payload + keyId BE->>BE: verify signature + replay policy最小バックエンドペイロード契約
最小バックエンドペイロード契約登録:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "challenge": "string", "token": "string"}アサーション:
{ "platform": "ios", "format": "apple-app-attest", "keyId": "string", "payload": "string", "token": "string"}__CAPGO_KEEP_0__
iOS セットアップ & バックエンド検証から続けてiOS セットアップ & バックエンド検証から続けて あなたが使用している場合 セキュリティとコンプライアンスの計画に役立つため、接続する @capgo/capacitor-app-attestを使用する @capgo/capacitor-app-attestのネイティブ機能の使用 暗号化 暗号化の実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー