メインコンテンツへスキップ
Example
import MfaWebAuthnRoamingChallenge from "@auth0/auth0-acul-js/mfa-webauthn-roaming-challenge";

const mfaWebAuthnRoamingChallengeManager = new MfaWebAuthnRoamingChallenge();

コンストラクター

MfaWebAuthnRoamingChallenge
Constructor
新しい MfaWebAuthnRoamingChallenge クラスのインスタンスを初期化します。

例外

Universal Login コンテキストを利用できない場合、またはコンテキスト内の画面名が MfaWebAuthnRoamingChallenge.screenIdentifier と一致しない場合に例外がスローされます。

プロパティ

branding
client
organization
prompt
screen
tenant
transaction
untrustedData
user
screenIdentifier
string
static

メソッド

getErrors
コンテキストからトランザクションエラーの配列を取得し、存在しない場合は空の配列を返します。トランザクションコンテキストに含まれるエラーオブジェクトの配列。
reportWebAuthnError
Promise<void>
特定の WebAuthn API エラーを Auth0 に報告します。 このメソッドは、navigator.credentials.get()verify() では自動的に処理されない形で失敗した場合、または開発者が別のアクションを試す前に明示的に エラーを報告したい場合に使用します。 このメソッドは、action: "showError::{errorDetails}" と共にエラーの詳細を送信します。エラーレポートが送信されたときに解決される Promise。

スロー

フォーム送信に失敗した場合にエラーをスローします。
Example
// 'sdk' が MfaWebAuthnRoamingChallenge のインスタンスであると仮定します
// そして webAuthnError が、失敗した navigator.credentials.get() 呼び出しからのエラーオブジェクトであるとします。
try {
  await sdk.reportWebAuthnError({
    error: { name: webAuthnError.name, message: webAuthnError.message }
  });
} catch (submitError) {
  console.error("Failed to report WebAuthn error:", submitError);
}
tryAnotherMethod
Promise<void>
ユーザーが WebAuthn チャレンジをスキップして、別の MFA メソッドを選択できるようにします。 このアクションは Auth0 に action: "pick-authenticator" を送信し、ユーザーを MFA 要素の選択画面へ遷移させます。アクションが送信されたときに解決される Promise。

スロー

フォーム送信に失敗した場合にエラーをスローします。
Example
// 'sdk' が MfaWebAuthnRoamingChallenge のインスタンスであると仮定します
try {
  await sdk.tryAnotherMethod();
  // 成功すると、Auth0 が MFA 選択へのリダイレクトを処理します。
} catch (error) {
  console.error("Failed to switch MFA method:", error);
}
verify
Promise<void>
screen.data.publicKeyChallengeOptions で指定されたオプションを使用して navigator.credentials.get() を呼び出し、WebAuthn チャレンジを開始します。 成功した場合、action: "default" と共に取得されたクレデンシャルを Auth0 に送信します。 navigator.credentials.get() が既知の WebAuthn API エラー(NotAllowedError など)で失敗した場合、 このメソッドは内部的に reportWebAuthnError を呼び出して Auth0 に通知します。検証試行が送信されたときに解決される Promise。 通常、成功時にはリダイレクトが行われるため、データを直接返しません。

スロー

screen.data.publicKeyChallengeOptions が存在しない場合、 navigator.credentials.get() が予期しないエラーで失敗した場合、 または Auth0 へのフォーム送信に失敗した場合にエラーをスローします。
Example
// 'sdk' が MfaWebAuthnRoamingChallenge のインスタンスであると仮定します
try {
  await sdk.verify({ rememberDevice: true });
  // 成功すると、Auth0 がリダイレクトを処理します。
} catch (error) {
  console.error("Security key verification failed:", error);
  // ページが再読み込みされた場合は、サーバー側の検証メッセージについて sdk.transaction.errors を確認します。
}