PublicKeyCredentialCreationOptions.excludeCredentials - Web APIs 编辑
Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
excludeCredentials
, an optional property of the PublicKeyCredentialCreationOptions
dictionary, is an Array
whose elements are descriptors for the public keys already existing for a given user. This is provided by the relying party's server if it wants to prevent creation of new credentials for an existing user.
Syntax
excludeCredentials = publicKeyCredentialCreationOptions.excludeCredentials
Value
An Array
whose elements are objects with the following properties:
type
- A string describing type of public-key credential to be created. As of this writing (March 2019), only "
public-key
" may be used. id
- A
BufferSource
matching an existing public key credential identifier (PublicKeyCredential.rawId
). This identifier is generated during the creation of thePublicKeyCredential
instance. transports
Optional- An
Array
of strings describing the possible transports between the client and the authenticator. The value of the strings may be:- "
usb
": the authenticator can be contacted via a removable USB link - "
nfc
": the authenticator may be used over NFC (Near Field Communication) - "
ble
": the authenticator may be used over BLE (Bluetooth Low Energy) - "
internal
": the authenticator is specifically bound to the client device (cannot be removed).
- "
If the authenticator already contains one of such a public key credential, the client will throw a DOMException
or asks the user if they want to create a new credential.
Examples
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);
});
Specifications
Specification | Status | Comment |
---|---|---|
Web Authentication: An API for accessing Public Key Credentials Level 1 The definition of 'excludeCredentials' in that specification. | Recommendation | Initial definition. |
Browser compatibility
BCD tables only load in the browser
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论