このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

PublicKeyCredential: signalCurrentUserDetails() 静的メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more support for this feature? Tell us why.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

signalCurrentUserDetails()PublicKeyCredential インターフェイスの静的メソッドで、特定のユーザーが 認証依頼者 (RP) サーバー上でユーザー名や表示名を更新したことを、認証器に通知します。

これにより、認証器はユーザーアカウントの詳細情報を更新し、RP が保持する情報との同期を保つことができます。この機能は、現在のユーザーが認証されている場合(ログイン後、または RP のウェブアプリ上で資格情報に関連付けられたメタデータを変更した場合)にのみ使用すべきです。

構文

js
signalCurrentUserDetails(options)

引数

options

更新されたユーザー情報を表すオブジェクトで、以下のプロパティが含まれています。

displayName

更新されたユーザーの displayName を表す文字列。

name

更新されたユーザーの name を表す文字列。

rpId

シグナルを送信した RP の ID を表す文字列。

userId

この資格情報が関連付けられている ユーザーの ID を表す、Base64URL で符号化された文字列。

返値

undefined で解決する Promise です。

例外

このプロミスには、以下の例外で拒否されます。

SecurityError DOMException

RP のドメインが有効ではありません。

TypeError DOMException

credentialId は、有効な base64url で符号化された文字列ではありません。

解説

ユーザーの認証器に格納されている 検出可能な資格情報(例えば、パスキー)に関する情報が、サーバーとの同期を失う可能性があります。この状態は、ユーザーが RP のウェブアプリ上でユーザー名や表示名を更新した際、認証器を更新しなかった場合に発生する可能性があります。

次に、ユーザーが検出可能な資格情報を使用してログインしようとすると、関連する UI 上ではまだ古いユーザー名や表示名が付いた資格情報が表示されるため、ユーザーに混乱を招く可能性があります。

この課題を避けるには、ユーザーがユーザーアカウントの詳細を更新したりログインしたりするたびに、RP ウェブアプリで signalCurrentUserDetails() を呼び出し、ユーザー情報が更新されたことを認証器に指示する必要があります。この情報の処理方法は認証器次第ですが、指定された更新内容に基づいてユーザー情報を同期することが期待されます。

現在のユーザーの詳細情報のシグナル

この例では、signalCurrentUserDetail() メソッドを呼び出し、ユーザーが RP で編集したばかりの資格情報の詳細を渡します。その結果、認証器は、RP との同期が保たれるよう、自分自身で資格情報のコピーを更新する必要があります。

js
if (PublicKeyCredential.signalCurrentUserDetails) {
  await PublicKeyCredential.signalCurrentUserDetails({
    rpId: "example.com",
    userId: "M2YPl-KGnA8", // base64url で符号化されたユーザー ID
    name: "a.new.email.address@example.com", // ユーザー名
    displayName: "Maria Sanchez",
  });
} else {
  // ユーザーに対し、認証器で登録情報を更新するよう促す
}

その他のサンプルコードについては、 Keep passkeys consistent with credentials on your server with the Signal API - developer.chrome.com (2024) を参照してください。

仕様書

仕様書
Web Authentication: An API for accessing Public Key Credentials - Level 3
# dom-publickeycredential-signalcurrentuserdetails

ブラウザーの互換性

関連情報