コンテンツにジャンプ

バックエンドノート

GitHub

あなたのバックエンドは通常のWebAuthn式典を所有しています:

  • 登録と認証の挑戦を生成する
  • 証明と断言の応答を検証する
  • 依存するパーティIDと挑戦の検証を強制する
  • ブラウザのフローと同じようにクレデンシャルとカウンタを保存します。

同じなもの

「同じなもの」

The plugin is designed to preserve the front-end shape of your existing WebAuthn code.

  • On the web, it forwards to the real browser WebAuthn API.
  • On native Capacitor, it returns browser-like credential objects backed by native passkey APIs.
  • バックエンドでは、同じチャレンジと検証パイプラインを維持できます。

Androidで変わります

「Androidで変わります」

Androidのネイティブパスキーは、ブラウザーの信頼モデルと同じではありません。

  • デジタルアセットリンクは、Androidがウェブサイトと同じ依存パーティーとクレデンシャルエコシステムを共有できるようにします。
  • 「その字面」 clientDataJSON.origin ウェブサイトのオリジンとは異なる値が残っている場合でも、値は変わります。
  • サーバーが拒否する以外のものを受け入れる場合 https://your-domainAndroidネイティブのアサーションは、パスキーが他の場合でも有効である場合でも失敗することがあります。

同じ依存パーティのドメインに対してネイティブのAndroidパスキーをサポートする場合、期待されるブラウザのオリジンと期待されるAndroidアプリのオリジンを許可することが推奨されます。

これが得られるのは

  • ウェブサイトのブラウザサポート
  • 「Capacitor」アプリのネイティブパスキー
  • 同じ依存パーティのドメインに対してパスキー生態系

直接JSONセーフなコールが必要な場合

「直接JSONセーフなコールが必要な場合」のセクション

あなたのバックエンドが既に返す場合 PublicKeyCredentialCreationOptionsJSONPublicKeyCredentialRequestOptionsJSON, you can also use the direct plugin API instead of the browser-style shim:

import { CapacitorPasskey } from '@capgo/capacitor-passkey';
const registration = await CapacitorPasskey.createCredential({
origin: 'https://signin.example.com',
publicKey: registrationOptionsFromBackend,
});
const authentication = await CapacitorPasskey.getCredential({
origin: 'https://signin.example.com',
publicKey: requestOptionsFromBackend,
});

バックエンドのノートから続ける あなたが使用している バックエンドのノート Using @capgo/capacitor-passkey @capgo/capacitor-パスキー @capgo/capacitor-パスキー Capgoの実装詳細については@capgo/capacitor-social-loginを参照してください。 @capgo/capacitor-passkey Capgoの実装詳細については@capgo/capacitor-passkeyを参照してください。 @capgo/capacitor-native-biometric Capgoの実装詳細については@capgo/capacitor-native-biometric、 2要素認証 Capgoの実装詳細については2要素認証を参照してください。