mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-03-20 04:00:52 +00:00
* Try to enable all webidls * Separate out unavailable webidl files by reason. * Create record of fully tested WebIDL files * Update notes to reflect new situation with web-idl * Make a blank ident fail, disable the necessary widls. It turns out that all the blank idents came from blank enum variants, which is allowed in webidl apparently.
167 lines
5.2 KiB
Plaintext
Vendored
167 lines
5.2 KiB
Plaintext
Vendored
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this IDL file is
|
|
* https://w3c.github.io/webauthn/
|
|
*/
|
|
|
|
/***** Interfaces to Data *****/
|
|
|
|
[SecureContext, Pref="security.webauth.webauthn"]
|
|
interface PublicKeyCredential : Credential {
|
|
[SameObject] readonly attribute ArrayBuffer rawId;
|
|
[SameObject] readonly attribute AuthenticatorResponse response;
|
|
AuthenticationExtensionsClientOutputs getClientExtensionResults();
|
|
};
|
|
|
|
[SecureContext]
|
|
partial interface PublicKeyCredential {
|
|
static Promise<boolean> isUserVerifyingPlatformAuthenticatorAvailable();
|
|
};
|
|
|
|
[SecureContext, Pref="security.webauth.webauthn"]
|
|
interface AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer clientDataJSON;
|
|
};
|
|
|
|
[SecureContext, Pref="security.webauth.webauthn"]
|
|
interface AuthenticatorAttestationResponse : AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer attestationObject;
|
|
};
|
|
|
|
[SecureContext, Pref="security.webauth.webauthn"]
|
|
interface AuthenticatorAssertionResponse : AuthenticatorResponse {
|
|
[SameObject] readonly attribute ArrayBuffer authenticatorData;
|
|
[SameObject] readonly attribute ArrayBuffer signature;
|
|
[SameObject] readonly attribute ArrayBuffer? userHandle;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialParameters {
|
|
required PublicKeyCredentialType 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;
|
|
AttestationConveyancePreference attestation = "none";
|
|
AuthenticationExtensionsClientInputs extensions;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialEntity {
|
|
required DOMString name;
|
|
USVString icon;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity {
|
|
DOMString id;
|
|
};
|
|
|
|
dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity {
|
|
required BufferSource id;
|
|
required DOMString displayName;
|
|
};
|
|
|
|
dictionary AuthenticatorSelectionCriteria {
|
|
AuthenticatorAttachment authenticatorAttachment;
|
|
boolean requireResidentKey = false;
|
|
UserVerificationRequirement userVerification = "preferred";
|
|
};
|
|
|
|
enum AuthenticatorAttachment {
|
|
"platform", // Platform attachment
|
|
"cross-platform" // Cross-platform attachment
|
|
};
|
|
|
|
enum AttestationConveyancePreference {
|
|
"none",
|
|
"indirect",
|
|
"direct"
|
|
};
|
|
|
|
enum UserVerificationRequirement {
|
|
"required",
|
|
"preferred",
|
|
"discouraged"
|
|
};
|
|
|
|
dictionary PublicKeyCredentialRequestOptions {
|
|
required BufferSource challenge;
|
|
unsigned long timeout;
|
|
USVString rpId;
|
|
sequence<PublicKeyCredentialDescriptor> allowCredentials = [];
|
|
UserVerificationRequirement userVerification = "preferred";
|
|
AuthenticationExtensionsClientInputs extensions;
|
|
};
|
|
|
|
// TODO - Use partial dictionaries when bug 1436329 is fixed.
|
|
dictionary AuthenticationExtensionsClientInputs {
|
|
// FIDO AppID Extension (appid)
|
|
// <https://w3c.github.io/webauthn/#sctn-appid-extension>
|
|
USVString appid;
|
|
};
|
|
|
|
// TODO - Use partial dictionaries when bug 1436329 is fixed.
|
|
dictionary AuthenticationExtensionsClientOutputs {
|
|
// FIDO AppID Extension (appid)
|
|
// <https://w3c.github.io/webauthn/#sctn-appid-extension>
|
|
boolean appid;
|
|
};
|
|
|
|
typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs;
|
|
|
|
dictionary CollectedClientData {
|
|
required DOMString type;
|
|
required DOMString challenge;
|
|
required DOMString origin;
|
|
required DOMString hashAlgorithm;
|
|
DOMString tokenBindingId;
|
|
AuthenticationExtensionsClientInputs clientExtensions;
|
|
AuthenticationExtensionsAuthenticatorInputs authenticatorExtensions;
|
|
};
|
|
|
|
enum PublicKeyCredentialType {
|
|
"public-key"
|
|
};
|
|
|
|
dictionary PublicKeyCredentialDescriptor {
|
|
required PublicKeyCredentialType type;
|
|
required BufferSource id;
|
|
sequence<AuthenticatorTransport> transports;
|
|
};
|
|
|
|
enum AuthenticatorTransport {
|
|
"usb",
|
|
"nfc",
|
|
"ble"
|
|
};
|
|
|
|
typedef long COSEAlgorithmIdentifier;
|
|
|
|
typedef sequence<AAGUID> AuthenticatorSelectionList;
|
|
|
|
typedef BufferSource AAGUID;
|
|
|
|
/*
|
|
// FIDO AppID Extension (appid)
|
|
// <https://w3c.github.io/webauthn/#sctn-appid-extension>
|
|
partial dictionary AuthenticationExtensionsClientInputs {
|
|
USVString appid;
|
|
};
|
|
|
|
// FIDO AppID Extension (appid)
|
|
// <https://w3c.github.io/webauthn/#sctn-appid-extension>
|
|
partial dictionary AuthenticationExtensionsClientOutputs {
|
|
boolean appid;
|
|
};
|
|
*/
|