コンテンツにジャンプ

バックエンドノート

GitHub

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

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

同じもの

「同じもの」

既存のWebAuthn codeのフロントエンドの形を保存するように設計されています。

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

Androidで何が変わります

「Androidで何が変わります」

Androidのネイティブパスキーは、ブラウザの信頼モデルとは異なります。

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

同じ依存パーティー ドメインで、サイトのブラウザでのパスキー認証と、__CAPGO_KEEP_0__ アプリでのネイティブパスキー認証をサポートする場合、期待されるブラウザのオリジンと期待される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-passkey @capgo/capacitor-passkeyのネイティブ機能を使用する場合、@capgo/capacitor-passkeyを使用します。 @capgo/capacitor-social-login @capgo/capacitor-passkey @capgo/capacitor-passkey @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric 2要素認証 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-native-biometric