PublicKeyCredential:response 属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在部分或全部支持的浏览器中可用。

responsePublicKeyCredential接口的只读属性,它是一个AuthenticatorResponse对象,由身份验证器发送到用户代理,用于创建/获取凭据。此响应中包含的信息将由依赖方服务器用于验证请求的合法性。

AuthenticatorResponse可以是

为了验证凭据的创建,依赖方服务器需要以下两项内容:

注意:验证现有凭据的获取时,依赖方服务器需要整个PublicKeyCredential对象和客户端扩展。

注意:此属性可能只能在顶级上下文中使用,例如在<iframe>中不可用。

一个AuthenticatorResponse对象,其中包含依赖方脚本将接收的数据,并且应将其发送到依赖方服务器以验证创建或获取请求。此对象包含来自客户端(AuthenticatorResponse/clientDataJSON)和来自身份验证器的数据。

示例

js
const options = {
  challenge: new Uint8Array(16) /* from the server */,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(16) /* from the server */,
    name: "[email protected]",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey: options })
  .then((pubKeyCredential) => {
    const response = pubKeyCredential.response;
    const clientExtResults = pubKeyCredential.getClientExtensionResults();
    // Send response and client extensions to the server so that it can validate
    // and create credentials
  })
  .catch((err) => {
    // Deal with any error
  });

规范

规范
Web 身份验证:访问公钥凭据的 API - 3 级
# dom-publickeycredential-response

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。