PublicKeyCredentialCreationOptions.excludeCredentials

安全なコンテキスト用

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

excludeCredentialsPublicKeyCredentialCreationOptions 辞書の任意のプロパティであり、指定されたユーザーに既に存在する公開鍵の記述子を要素に持つ Array オブジェクトです。これは既存のユーザーに新しい認証情報を生成することを避けたい場合、パーティのサーバーから提供されます。

構文

excludeCredentials = publicKeyCredentialCreationOptions.excludeCredentials

Array で、以下のプロパティを持つオブジェクトを要素に持ちます。

type
文字列で、生成された公開鍵の認証情報の種類を表します。この文書の執筆時点 (2019年3月) では、 "public-key" のみが使用可能です。
id
BufferSource で、既存の公開鍵の認証情報の識別子 (PublicKeyCredential.rawId) に一致します。子の識別子は PublicKeyCredential インスタンスの生成時に生成されます。
transports 省略可
文字列の Array で、クライアントと認証機器の通信方法を記述します。使用可能な文字列は次の通りです。
  • "usb": 認証機器は取り外し可能な USB 接続で接続することができます
  • "nfc": 認証機器は NFC (Near Field Communication) を通して使用することができます
  • "ble": 認証機器は BLE (Bluetooth Low Energy) を通して使用することができます
  • "internal": 認証機器はクライアント端末の中に埋め込まれています (取り外せません)。

認証機器がすでにそのような公開鍵認証情報の一つを含んでいる場合、クライアントは DOMException を発生さえるか、ユーザーに新しい認証情報を生成したいかを確認するかします。

var publicKey = {
  excludeCredentials: [
    {
      type: "public-key",
      // the id for john.doe@example.com
      id  : new Uint8Array(26) /* this actually is given by the server */
    },
    {
      type: "public-key",
      // the id for john-doe@example.com
      id : new Uint8Array(26) /* another id */
    }
  ],
  challenge: new Uint8Array(26) /* this actually is given from the server */,
  rp: {
    name: "Example CORP",
    id  : "login.example.com"
  },
  user: {
    id: new Uint8Array(26), /* To be changed for each user */
    name: "jdoe@example.com",
    displayName: "John Doe",
  },
  pubKeyCredParams: [ {
    type: "public-key",
    alg: -7 } ]
};

navigator.credentials.create({ publicKey })
  .then(function (newCredentialInfo) {
    // send attestation response and client extensions
    // to the server to proceed with the registration
    // of the credential
  }).catch(function (err) {
     console.error(err);
  });

仕様書

仕様書 状態 備考
Web Authentication: An API for accessing Public Key Credentials Level 1
excludeCredentials の定義
勧告 初回定義

ブラウザーの互換性

BCD tables only load in the browser