コンテンツにジャンプ

バックエンドノート

GitHub

あなたのバックエンドは通常のWebAuthn セレモニーを所有し続けます:

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

プラグインはあなたの既存のWebAuthn codeのフロントエンドの形状を保存するように設計されています。

  • ウェブ上では、実際のブラウザWebAuthn APIにフォワードします。
  • ネイティブCapacitorでは、ネイティブパスキーAPIによって裏付けられたブラウザーのようなクレデンシャルオブジェクトを返します。
  • あなたのバックエンドは同じ挑戦と検証パイプラインを維持できます。

Android上では何が変わります

Androidで何が変わるか

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

  • デジタルアセットリンクは、Androidがウェブサイトと同じ依存先と資格情報のエコシステムを共有できるようにします。
  • 「The literal」 clientDataJSON.origin __CAPGO_KEEP_0__
  • サーバーが要求しないものを拒否すると、Androidのネイティブアサーションはパスキーが有効であっても失敗する可能性があります。 https://your-domain推奨されるバックエンドのルール
これにより、次のことが得られます。

ウェブサイトのブラウザのサポート

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

  • ウェブサイトのブラウザとAndroidアプリの期待されるオリジンを許可することで、Androidのネイティブパスキーをサポートすることができます。
  • native passkeyサポートがCapacitorアプリ内で利用可能
  • 同じ依存パーティドメイン内で一つのパスキー生態系

__CAPGO_KEEP_0__アプリ内で直接JSONセーフな呼び出しを行う必要がある場合

__CAPGO_KEEP_1__

__CAPGO_KEEP_0__がバックエンド側で既にJSON形式で返している場合 PublicKeyCredentialCreationOptionsJSON __CAPGO_KEEP_2__、__CAPGO_KEEP_3__ PublicKeyCredentialRequestOptionsJSONAPIプラグインを直接使用する代わりにブラウザスタイルのシムを使う必要がある場合は、APIプラグインを使用できます。

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,
});

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_0__を使用している場合 __CAPGO_KEEP_6__ を計画し、認証とアカウントフローを接続するには @capgo/capacitor-passkeyを使用する @capgo/capacitor-passkeyのネイティブ機能の場合 @capgo/capacitor-social-loginを使用する @capgo/capacitor-social-loginの実装詳細 @capgo/capacitor-passkeyの実装詳細 @capgo/capacitor-native-biometricを使用する @capgo/capacitor-native-biometricの実装詳細 for the implementation detail in @capgo/capacitor-native-biometric, and 2要素認証の実装詳細 ページを編集する']} ]}