437 lines
14 KiB
Text
437 lines
14 KiB
Text
// GENERATED CONTENT - DO NOT EDIT
|
|
// Content was automatically extracted by Reffy into webref
|
|
// (https://github.com/w3c/webref)
|
|
// Source: Web Authentication: An API for accessing Public Key Credentials - Level 3 (https://w3c.github.io/webauthn/)
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface PublicKeyCredential : Credential {
|
|
[SameObject] readonly attribute ArrayBuffer rawId;
|
|
[SameObject] readonly attribute AuthenticatorResponse response;
|
|
readonly attribute DOMString? authenticatorAttachment;
|
|
AuthenticationExtensionsClientOutputs getClientExtensionResults();
|
|
static Promise<boolean> isConditionalMediationAvailable();
|
|
PublicKeyCredentialJSON toJSON();
|
|
};
|
|
|
|
typedef DOMString Base64URLString;
|
|
// The structure of this object will be either
|
|
// RegistrationResponseJSON or AuthenticationResponseJSON
|
|
typedef object PublicKeyCredentialJSON;
|
|
|
|
dictionary RegistrationResponseJSON {
|
|
required DOMString id;
|
|
required Base64URLString rawId;
|
|
required AuthenticatorAttestationResponseJSON response;
|
|
DOMString authenticatorAttachment;
|
|
required AuthenticationExtensionsClientOutputsJSON clientExtensionResults;
|
|
required DOMString type;
|
|
};
|
|
|
|
dictionary AuthenticatorAttestationResponseJSON {
|
|
required Base64URLString clientDataJSON;
|
|
required Base64URLString authenticatorData;
|
|
required sequence<DOMString> transports;
|
|
// The publicKey field will be missing if pubKeyCredParams was used to
|
|
// negotiate a public-key algorithm that the user agent doesn't
|
|
// understand. (See section “Easily accessing credential data” for a
|
|
// list of which algorithms user agents must support.) If using such an
|
|
// algorithm then the public key must be parsed directly from
|
|
// attestationObject or authenticatorData.
|
|
Base64URLString publicKey;
|
|
required COSEAlgorithmIdentifier publicKeyAlgorithm;
|
|
// This value contains copies of some of the fields above. See
|
|
// section “Easily accessing credential data”.
|
|
required Base64URLString attestationObject;
|
|
};
|
|
|
|
dictionary AuthenticationResponseJSON {
|
|
required DOMString id;
|
|
required Base64URLString rawId;
|
|
required AuthenticatorAssertionResponseJSON response;
|
|
DOMString authenticatorAttachment;
|
|
required AuthenticationExtensionsClientOutputsJSON clientExtensionResults;
|
|
required DOMString type;
|
|
};
|
|
|
|
dictionary AuthenticatorAssertionResponseJSON {
|
|
required Base64URLString clientDataJSON;
|
|
required Base64URLString authenticatorData;
|
|
required Base64URLString signature;
|
|
Base64URLString userHandle;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
};
|
|
|
|
partial dictionary CredentialCreationOptions {
|
|
PublicKeyCredentialCreationOptions publicKey;
|
|
};
|
|
|
|
partial dictionary CredentialRequestOptions {
|
|
PublicKeyCredentialRequestOptions publicKey;
|
|
};
|
|
|
|
partial interface PublicKeyCredential {
|
|
static Promise<boolean> isUserVerifyingPlatformAuthenticatorAvailable();
|
|
};
|
|
|
|
partial interface PublicKeyCredential {
|
|
static Promise<PublicKeyCredentialClientCapabilities> getClientCapabilities();
|
|
};
|
|
|
|
typedef record<DOMString, boolean> PublicKeyCredentialClientCapabilities;
|
|
|
|
partial interface PublicKeyCredential {
|
|
static PublicKeyCredentialCreationOptions parseCreationOptionsFromJSON(PublicKeyCredentialCreationOptionsJSON options);
|
|
};
|
|
|
|
dictionary PublicKeyCredentialCreationOptionsJSON {
|
|
required PublicKeyCredentialRpEntity rp;
|
|
required PublicKeyCredentialUserEntityJSON user;
|
|
required Base64URLString challenge;
|
|
required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
|
|
unsigned long timeout;
|
|
sequence<PublicKeyCredentialDescriptorJSON> excludeCredentials = [];
|
|
AuthenticatorSelectionCriteria authenticatorSelection;
|
|
sequence<DOMString> hints = [];
|
|
DOMString attestation = "none";
|
|
sequence<DOMString> attestationFormats = [];
|
|
AuthenticationExtensionsClientInputsJSON extensions;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialUserEntityJSON {
|
|
required Base64URLString id;
|
|
required DOMString name;
|
|
required DOMString displayName;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialDescriptorJSON {
|
|
required DOMString type;
|
|
required Base64URLString id;
|
|
sequence<DOMString> transports;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsClientInputsJSON {
|
|
};
|
|
|
|
partial interface PublicKeyCredential {
|
|
static PublicKeyCredentialRequestOptions parseRequestOptionsFromJSON(PublicKeyCredentialRequestOptionsJSON options);
|
|
};
|
|
|
|
dictionary PublicKeyCredentialRequestOptionsJSON {
|
|
required Base64URLString challenge;
|
|
unsigned long timeout;
|
|
DOMString rpId;
|
|
sequence<PublicKeyCredentialDescriptorJSON> allowCredentials = [];
|
|
DOMString userVerification = "preferred";
|
|
sequence<DOMString> hints = [];
|
|
AuthenticationExtensionsClientInputsJSON extensions;
|
|
};
|
|
|
|
partial interface PublicKeyCredential {
|
|
static Promise<undefined> signalUnknownCredential(UnknownCredentialOptions options);
|
|
static Promise<undefined> signalAllAcceptedCredentials(AllAcceptedCredentialsOptions options);
|
|
static Promise<undefined> signalCurrentUserDetails(CurrentUserDetailsOptions options);
|
|
};
|
|
|
|
dictionary UnknownCredentialOptions {
|
|
required DOMString rpId;
|
|
required Base64URLString credentialId;
|
|
};
|
|
|
|
dictionary AllAcceptedCredentialsOptions {
|
|
required DOMString rpId;
|
|
required Base64URLString userId;
|
|
required sequence<Base64URLString> allAcceptedCredentialIds;
|
|
};
|
|
|
|
dictionary CurrentUserDetailsOptions {
|
|
required DOMString rpId;
|
|
required Base64URLString userId;
|
|
required DOMString name;
|
|
required DOMString displayName;
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer clientDataJSON;
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface AuthenticatorAttestationResponse : AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer attestationObject;
|
|
sequence<DOMString> getTransports();
|
|
ArrayBuffer getAuthenticatorData();
|
|
ArrayBuffer? getPublicKey();
|
|
COSEAlgorithmIdentifier getPublicKeyAlgorithm();
|
|
};
|
|
|
|
[SecureContext, Exposed=Window]
|
|
interface AuthenticatorAssertionResponse : AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer authenticatorData;
|
|
[SameObject] readonly attribute ArrayBuffer signature;
|
|
[SameObject] readonly attribute ArrayBuffer? userHandle;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialParameters {
|
|
required DOMString type;
|
|
required COSEAlgorithmIdentifier alg;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialCreationOptions {
|
|
required PublicKeyCredentialRpEntity rp;
|
|
required PublicKeyCredentialUserEntity user;
|
|
|
|
required BufferSource challenge;
|
|
required sequence<PublicKeyCredentialParameters> pubKeyCredParams;
|
|
|
|
unsigned long timeout;
|
|
sequence<PublicKeyCredentialDescriptor> excludeCredentials = [];
|
|
AuthenticatorSelectionCriteria authenticatorSelection;
|
|
sequence<DOMString> hints = [];
|
|
DOMString attestation = "none";
|
|
sequence<DOMString> attestationFormats = [];
|
|
AuthenticationExtensionsClientInputs extensions;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialEntity {
|
|
required DOMString name;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity {
|
|
DOMString id;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity {
|
|
required BufferSource id;
|
|
required DOMString displayName;
|
|
};
|
|
|
|
dictionary AuthenticatorSelectionCriteria {
|
|
DOMString authenticatorAttachment;
|
|
DOMString residentKey;
|
|
boolean requireResidentKey = false;
|
|
DOMString userVerification = "preferred";
|
|
};
|
|
|
|
enum AuthenticatorAttachment {
|
|
"platform",
|
|
"cross-platform"
|
|
};
|
|
|
|
enum ResidentKeyRequirement {
|
|
"discouraged",
|
|
"preferred",
|
|
"required"
|
|
};
|
|
|
|
enum AttestationConveyancePreference {
|
|
"none",
|
|
"indirect",
|
|
"direct",
|
|
"enterprise"
|
|
};
|
|
|
|
dictionary PublicKeyCredentialRequestOptions {
|
|
required BufferSource challenge;
|
|
unsigned long timeout;
|
|
DOMString rpId;
|
|
sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
|
|
DOMString userVerification = "preferred";
|
|
sequence<DOMString> hints = [];
|
|
AuthenticationExtensionsClientInputs extensions;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsClientInputs {
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsClientOutputs {
|
|
};
|
|
|
|
dictionary CollectedClientData {
|
|
required DOMString type;
|
|
required DOMString challenge;
|
|
required DOMString origin;
|
|
boolean crossOrigin;
|
|
DOMString topOrigin;
|
|
};
|
|
|
|
dictionary TokenBinding {
|
|
required DOMString status;
|
|
DOMString id;
|
|
};
|
|
|
|
enum TokenBindingStatus { "present", "supported" };
|
|
|
|
enum PublicKeyCredentialType {
|
|
"public-key"
|
|
};
|
|
|
|
dictionary PublicKeyCredentialDescriptor {
|
|
required DOMString type;
|
|
required BufferSource id;
|
|
sequence<DOMString> transports;
|
|
};
|
|
|
|
enum AuthenticatorTransport {
|
|
"usb",
|
|
"nfc",
|
|
"ble",
|
|
"smart-card",
|
|
"hybrid",
|
|
"internal"
|
|
};
|
|
|
|
typedef long COSEAlgorithmIdentifier;
|
|
|
|
enum UserVerificationRequirement {
|
|
"required",
|
|
"preferred",
|
|
"discouraged"
|
|
};
|
|
|
|
enum ClientCapability {
|
|
"conditionalCreate",
|
|
"conditionalGet",
|
|
"hybridTransport",
|
|
"passkeyPlatformAuthenticator",
|
|
"userVerifyingPlatformAuthenticator",
|
|
"relatedOrigins",
|
|
"signalAllAcceptedCredentials",
|
|
"signalCurrentUserDetails",
|
|
"signalUnknownCredential"
|
|
};
|
|
|
|
enum PublicKeyCredentialHint {
|
|
"security-key",
|
|
"client-device",
|
|
"hybrid",
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
DOMString appid;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientInputsJSON {
|
|
DOMString appid;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
boolean appid;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
boolean appid;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
DOMString appidExclude;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientInputsJSON {
|
|
DOMString appidExclude;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
boolean appidExclude;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
boolean appidExclude;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
boolean credProps;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientInputsJSON {
|
|
boolean credProps;
|
|
};
|
|
|
|
dictionary CredentialPropertiesOutput {
|
|
boolean rk;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
CredentialPropertiesOutput credProps;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
CredentialPropertiesOutput credProps;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsPRFValues {
|
|
required BufferSource first;
|
|
BufferSource second;
|
|
};
|
|
dictionary AuthenticationExtensionsPRFValuesJSON {
|
|
required Base64URLString first;
|
|
Base64URLString second;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsPRFInputs {
|
|
AuthenticationExtensionsPRFValues eval;
|
|
record<DOMString, AuthenticationExtensionsPRFValues> evalByCredential;
|
|
};
|
|
dictionary AuthenticationExtensionsPRFInputsJSON {
|
|
AuthenticationExtensionsPRFValuesJSON eval;
|
|
record<DOMString, AuthenticationExtensionsPRFValuesJSON> evalByCredential;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
AuthenticationExtensionsPRFInputs prf;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientInputsJSON {
|
|
AuthenticationExtensionsPRFInputsJSON prf;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsPRFOutputs {
|
|
boolean enabled;
|
|
AuthenticationExtensionsPRFValues results;
|
|
};
|
|
dictionary AuthenticationExtensionsPRFOutputsJSON {
|
|
boolean enabled;
|
|
AuthenticationExtensionsPRFValuesJSON results;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
AuthenticationExtensionsPRFOutputs prf;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
AuthenticationExtensionsPRFOutputsJSON prf;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
AuthenticationExtensionsLargeBlobInputs largeBlob;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientInputsJSON {
|
|
AuthenticationExtensionsLargeBlobInputsJSON largeBlob;
|
|
};
|
|
|
|
enum LargeBlobSupport {
|
|
"required",
|
|
"preferred",
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsLargeBlobInputs {
|
|
DOMString support;
|
|
boolean read;
|
|
BufferSource write;
|
|
};
|
|
dictionary AuthenticationExtensionsLargeBlobInputsJSON {
|
|
DOMString support;
|
|
boolean read;
|
|
Base64URLString write;
|
|
};
|
|
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
AuthenticationExtensionsLargeBlobOutputs largeBlob;
|
|
};
|
|
partial dictionary AuthenticationExtensionsClientOutputsJSON {
|
|
AuthenticationExtensionsLargeBlobOutputsJSON largeBlob;
|
|
};
|
|
|
|
dictionary AuthenticationExtensionsLargeBlobOutputs {
|
|
boolean supported;
|
|
ArrayBuffer blob;
|
|
boolean written;
|
|
};
|
|
dictionary AuthenticationExtensionsLargeBlobOutputsJSON {
|
|
boolean supported;
|
|
Base64URLString blob;
|
|
boolean written;
|
|
};
|