PublicKeyCredential:response 属性
response
是PublicKeyCredential
接口的只读属性,它是一个AuthenticatorResponse
对象,由身份验证器发送到用户代理,用于创建/获取凭据。此响应中包含的信息将由依赖方服务器用于验证请求的合法性。
AuthenticatorResponse
可以是
- 一个
AuthenticatorAttestationResponse
(当PublicKeyCredential
通过CredentialsContainer.create()
创建时) - 一个
AuthenticatorAssertionResponse
(当PublicKeyCredential
通过CredentialsContainer.get()
获取时)。
为了验证凭据的创建,依赖方服务器需要以下两项内容:
- 此响应
- 客户端的扩展(由
PublicKeyCredential.getClientExtensionResults()
给出)以验证请求。
注意:验证现有凭据的获取时,依赖方服务器需要整个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 的浏览器中加载。