PublicKeyCredentialCreationOptions.authenticatorSelection

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

authenticatorSelectionPublicKeyCredentialCreationOptions 辞書の任意のプロパティであり、生成操作に使用される認証機器をフィルタリングする条件を指定するオブジェクトです。

構文

authenticatorSelection = publicKeyCredentialCreationOptions.authenticatorSelection

以下のプロパティを持つオブジェクトです。

authenticatorAttachmentOptional
文字列で、 "platform" または "cross-platform" のどちらかです。前者は認証機器がクライアントに接続されており、通常は取り外し不可能であることを示します。後者は機器が異なるプラットフォームをまたがって使用される可能性があることを示します (USB や NFC 端末など)。
requireResidentKeyOptional
論理値で、認証情報の秘密鍵を認証機器、クライアント、クライアント端末の中に格納する必要があるのか、どうかを示します。既定値は false です。
userVerificationOptional
A string qualifying how the user verification should be part of the authentication process. The values may be: The default value is "preferred".

The authenticator used for the creation of the public key credential must comply with the requirements.

Note: See PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() which resolves to true when a user-verifiying platform authenticator is available.

var publicKey = {
  authenticatorSelection:{
    authenticatorAttachment: "cross-platform",
    requireResidentKey: true,
    userVerification: "required"
  },
  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);
  });

仕様書

ブラウザーの互換性

BCD tables only load in the browser

See also