PublicKeyCredential.getClientExtensionResults() - Web APIs 编辑
Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
getClientExtensionResults()
is a method of the PublicKeyCredential
interface that returns an ArrayBuffer
which contains a map between the extensions identifiers and their results after having being processed by the client.
During the creation or fetching of a PublicKeyCredential
(respectively via navigator.credentials.create()
and navigator.credentials.get()
), it is possible to have "custom" processing by the client for different extensions which are respectively given by PublicKeyCredentialCreationOptions.extensions
and PublicKeyCredentialRequestOptions.extensions
.
Note: Extensions are optional and different browsers may recognize different extensions. All extensions are optional for the client to process them: if a browser does not know of a given extension, that will not cause any failure.
Note: This method may only be used in top-level contexts and will not be available in an <iframe>
for example.
Syntax
mapArrayBuffer = publicKeyCredential.getClientExtensionResults()
Parameters
None.
Return value
An ArrayBuffer
containing the result of the processing of the different extensions by the client. This object contains a map between the extensions' identifiers and their results from the processing.
Warning! As of March 2019, only appId
(used during creation with PublicKeyCredentialRequestOptions.extensions
) is supported by Chrome and Edge. Firefox does not seem to support any extension.
Examples
var publicKey = {
// Here are the extensions (as "inputs")
extensions: {
"loc": true, // This extension has been defined to include location information in attestation
"uvi": true // user verification index: how the user was verified
},
challenge: new Uint8Array(16) /* from the server */,
rp: {
name: "Example CORP",
id : "login.example.com"
},
user: {
id: new Uint8Array(16) /* from the server */,
name: "jdoe@example.com",
displayName: "John Doe"
},
pubKeyCredParams: [
{
type: "public-key",
alg: -7
}
]
};
navigator.credentials.create({ publicKey })
.then(function (newCredentialInfo) {
var myBuffer = newCredentialInfo.getClientExtensionResults();
// myBuffer will contain the result of any of the processing of the "loc" and "uvi" extensions
}).catch(function (err) {
console.error(err);
});
Specifications
Specification | Status | Comment |
---|---|---|
Web Authentication: An API for accessing Public Key Credentials Level 1 The definition of 'getClientExtensionResults()' in that specification. | Recommendation | Initial definition. |
Browser compatibility
BCD tables only load in the browser
See also
- The list of the currently defined extensions
AuthenticatorAssertionResponse.authenticatorData
which contains the result of the authenticator's extensions processingPublicKeyCredentialCreationOptions.extensions
which contains the client extensions' input values for the creation of the credentialPublicKeyCredentialRequestOptions.extensions
which contains the client extensions' input values for the retrieval of the credential
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论