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

View in English Always switch to English

PublicKeyCredential: authenticatorAttachment プロパティ

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年11月以降、すべてのブラウザーで利用可能です。

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

authenticatorAttachmentPublicKeyCredential インターフェイスの読み取り専用プロパティで、関連付けられた navigator.credentials.create() または navigator.credentials.get() の呼び出し時に使用される認証器の一般的なカテゴリーを示す文字列です。

文字列です。以下のいずれかの値です。

"platform"

認証器は、WebAuthn が動作している端末の一部(プラットフォーム認証器と呼ばれる)であるため、WebAuthn は、プラットフォーム固有の API など、そのプラットフォームで利用できる通信手段を使用して、この認証器と通信します。プラットフォーム認証器に紐付けられた公開鍵資格情報は、プラットフォーム資格情報と呼ばれます。

"cross-platform"

認証器は、WebAuthn が動作している端末自体の一部ではありません(異なる端末間を移動できるため、ローミング認証器と呼ばれます)。そのため、WebAuthn は Bluetooth や NFC などのクロスプラットフォームの転送プロトコルを使用して、この認証器と通信します。ローミング認証器に紐付けられた公開鍵資格情報は、ローミング資格情報と呼ばれます。

js
const options = {
  challenge: new Uint8Array(26) /* サーバーから */,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(26) /* ユーザーごとに変更される */,
    name: "canand@example.com",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey: options })
  .then((pubKeyCredential) => {
    const attachment = pubKeyCredential.authenticatorAttachment;
    // authenticatorAttachment で何かを行う
  })
  .catch((err) => {
    // エラーを処理する
  });

仕様書

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

ブラウザーの互換性