summaryrefslogtreecommitdiffstats
path: root/vendor/web-sys/webidls/enabled/WebAuthentication.webidl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /vendor/web-sys/webidls/enabled/WebAuthentication.webidl
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/web-sys/webidls/enabled/WebAuthentication.webidl')
-rw-r--r--vendor/web-sys/webidls/enabled/WebAuthentication.webidl166
1 files changed, 166 insertions, 0 deletions
diff --git a/vendor/web-sys/webidls/enabled/WebAuthentication.webidl b/vendor/web-sys/webidls/enabled/WebAuthentication.webidl
new file mode 100644
index 000000000..f9a6df415
--- /dev/null
+++ b/vendor/web-sys/webidls/enabled/WebAuthentication.webidl
@@ -0,0 +1,166 @@
+/* -*- 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;
+};
+*/