安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
excludeCredentials
, an optional property of the
PublicKeyCredentialCreationOptions
dictionary, is an
数组
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.
excludeCredentials = publicKeyCredentialCreationOptions.excludeCredentials
数组
whose elements are objects with the following properties:
type
public-key
" may be used.
id
BufferSource
matching an existing public key credential identifier (
PublicKeyCredential.rawId
). This identifier is generated during the creation of the
PublicKeyCredential
实例。
传输
可选
数组
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.
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);
});
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web Authentication: An API for accessing Public Key Credentials Level 1
The definition of 'excludeCredentials' in that specification. |
推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
excludeCredentials
|
Chrome 67 | Edge ≤79 | Firefox 60 | IE ? | Opera ? | Safari 13 | WebView Android No | Chrome Android 67 | Firefox Android ? | Opera Android ? | Safari iOS 13.3 | Samsung Internet Android No |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
PublicKeyCredentialCreationOptions
attestation
authenticatorSelection
challenge
excludeCredentials
extensions
pubKeyCredParams
rp
timeout
user