Skip to content

Commit fe16d4a

Browse files
committed
add Web Authentication types
1 parent 243bf35 commit fe16d4a

File tree

3 files changed

+361
-0
lines changed

3 files changed

+361
-0
lines changed

baselines/dom.generated.d.ts

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,34 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions {
133133
processorOptions?: any;
134134
}
135135

136+
interface AuthenticationExtensionsClientInputs {
137+
appid?: string;
138+
authnSel?: AuthenticatorSelectionList;
139+
exts?: boolean;
140+
loc?: boolean;
141+
txAuthGeneric?: txAuthGenericArg;
142+
txAuthSimple?: string;
143+
uvi?: boolean;
144+
uvm?: boolean;
145+
}
146+
147+
interface AuthenticationExtensionsClientOutputs {
148+
appid?: boolean;
149+
authnSel?: boolean;
150+
exts?: AuthenticationExtensionsSupported;
151+
loc?: Coordinates;
152+
txAuthGeneric?: ArrayBuffer;
153+
txAuthSimple?: string;
154+
uvi?: ArrayBuffer;
155+
uvm?: UvmEntries;
156+
}
157+
158+
interface AuthenticatorSelectionCriteria {
159+
authenticatorAttachment?: AuthenticatorAttachment;
160+
requireResidentKey?: boolean;
161+
userVerification?: UserVerificationRequirement;
162+
}
163+
136164
interface BiquadFilterOptions extends AudioNodeOptions {
137165
Q?: number;
138166
detune?: number;
@@ -251,11 +279,13 @@ interface ConvolverOptions extends AudioNodeOptions {
251279
}
252280

253281
interface CredentialCreationOptions {
282+
publicKey?: PublicKeyCredentialCreationOptions;
254283
signal?: AbortSignal;
255284
}
256285

257286
interface CredentialRequestOptions {
258287
mediation?: CredentialMediationRequirement;
288+
publicKey?: PublicKeyCredentialRequestOptions;
259289
signal?: AbortSignal;
260290
}
261291

@@ -1033,6 +1063,52 @@ interface PropertyIndexedKeyframes {
10331063
[property: string]: string | string[] | number | null | (number | null)[] | undefined;
10341064
}
10351065

1066+
interface PublicKeyCredentialCreationOptions {
1067+
attestation?: AttestationConveyancePreference;
1068+
authenticatorSelection?: AuthenticatorSelectionCriteria;
1069+
challenge: BufferSource;
1070+
excludeCredentials?: PublicKeyCredentialDescriptor[];
1071+
extensions?: AuthenticationExtensionsClientInputs;
1072+
pubKeyCredParams: PublicKeyCredentialParameters[];
1073+
rp: PublicKeyCredentialRpEntity;
1074+
timeout?: number;
1075+
user: PublicKeyCredentialUserEntity;
1076+
}
1077+
1078+
interface PublicKeyCredentialDescriptor {
1079+
id: BufferSource;
1080+
transports?: AuthenticatorTransport[];
1081+
type: PublicKeyCredentialType;
1082+
}
1083+
1084+
interface PublicKeyCredentialEntity {
1085+
icon?: string;
1086+
name: string;
1087+
}
1088+
1089+
interface PublicKeyCredentialParameters {
1090+
alg: COSEAlgorithmIdentifier;
1091+
type: PublicKeyCredentialType;
1092+
}
1093+
1094+
interface PublicKeyCredentialRequestOptions {
1095+
allowCredentials?: PublicKeyCredentialDescriptor[];
1096+
challenge: BufferSource;
1097+
extensions?: AuthenticationExtensionsClientInputs;
1098+
rpId?: string;
1099+
timeout?: number;
1100+
userVerification?: UserVerificationRequirement;
1101+
}
1102+
1103+
interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity {
1104+
id?: string;
1105+
}
1106+
1107+
interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity {
1108+
displayName: string;
1109+
id: BufferSource;
1110+
}
1111+
10361112
interface PushPermissionDescriptor extends PermissionDescriptor {
10371113
name: "push";
10381114
userVisibleOnly?: boolean;
@@ -1761,6 +1837,11 @@ interface WorkletOptions {
17611837
credentials?: RequestCredentials;
17621838
}
17631839

1840+
interface txAuthGenericArg {
1841+
content: ArrayBuffer;
1842+
contentType: string;
1843+
}
1844+
17641845
interface EventListener {
17651846
(evt: Event): void;
17661847
}
@@ -2286,6 +2367,35 @@ declare var AudioWorkletNode: {
22862367
new(context: BaseAudioContext, name: string, options?: AudioWorkletNodeOptions): AudioWorkletNode;
22872368
};
22882369

2370+
interface AuthenticatorAssertionResponse extends AuthenticatorResponse {
2371+
readonly authenticatorData: ArrayBuffer;
2372+
readonly signature: ArrayBuffer;
2373+
readonly userHandle: ArrayBuffer | null;
2374+
}
2375+
2376+
declare var AuthenticatorAssertionResponse: {
2377+
prototype: AuthenticatorAssertionResponse;
2378+
new(): AuthenticatorAssertionResponse;
2379+
};
2380+
2381+
interface AuthenticatorAttestationResponse extends AuthenticatorResponse {
2382+
readonly attestationObject: ArrayBuffer;
2383+
}
2384+
2385+
declare var AuthenticatorAttestationResponse: {
2386+
prototype: AuthenticatorAttestationResponse;
2387+
new(): AuthenticatorAttestationResponse;
2388+
};
2389+
2390+
interface AuthenticatorResponse {
2391+
readonly clientDataJSON: ArrayBuffer;
2392+
}
2393+
2394+
declare var AuthenticatorResponse: {
2395+
prototype: AuthenticatorResponse;
2396+
new(): AuthenticatorResponse;
2397+
};
2398+
22892399
interface BarProp {
22902400
readonly visible: boolean;
22912401
}
@@ -11830,6 +11940,18 @@ declare var PromiseRejectionEvent: {
1183011940
new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent;
1183111941
};
1183211942

11943+
interface PublicKeyCredential extends Credential {
11944+
readonly rawId: ArrayBuffer;
11945+
readonly response: AuthenticatorResponse;
11946+
getClientExtensionResults(): AuthenticationExtensionsClientOutputs;
11947+
}
11948+
11949+
declare var PublicKeyCredential: {
11950+
prototype: PublicKeyCredential;
11951+
new(): PublicKeyCredential;
11952+
isUserVerifyingPlatformAuthenticatorAvailable(): Promise<boolean>;
11953+
};
11954+
1183311955
/** This Push API interface provides a way to receive notifications from third-party servers as well as request URLs for push notifications. */
1183411956
interface PushManager {
1183511957
getSubscription(): Promise<PushSubscription | null>;
@@ -18776,6 +18898,12 @@ type ConstrainBoolean = boolean | ConstrainBooleanParameters;
1877618898
type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
1877718899
type PerformanceEntryList = PerformanceEntry[];
1877818900
type VibratePattern = number | number[];
18901+
type COSEAlgorithmIdentifier = number;
18902+
type AuthenticatorSelectionList = AAGUID[];
18903+
type AAGUID = BufferSource;
18904+
type AuthenticationExtensionsSupported = string[];
18905+
type UvmEntry = number[];
18906+
type UvmEntries = UvmEntry[];
1877918907
type AlgorithmIdentifier = string | Algorithm;
1878018908
type HashAlgorithmIdentifier = AlgorithmIdentifier;
1878118909
type BigInteger = Uint8Array;
@@ -18810,8 +18938,11 @@ type WindowProxy = Window;
1881018938
type AlignSetting = "start" | "center" | "end" | "left" | "right";
1881118939
type AnimationPlayState = "idle" | "running" | "paused" | "finished";
1881218940
type AppendMode = "segments" | "sequence";
18941+
type AttestationConveyancePreference = "none" | "indirect" | "direct";
1881318942
type AudioContextLatencyCategory = "balanced" | "interactive" | "playback";
1881418943
type AudioContextState = "suspended" | "running" | "closed";
18944+
type AuthenticatorAttachment = "platform" | "cross-platform";
18945+
type AuthenticatorTransport = "usb" | "nfc" | "ble" | "internal";
1881518946
type AutoKeyword = "auto";
1881618947
type AutomationRate = "a-rate" | "k-rate";
1881718948
type BinaryType = "blob" | "arraybuffer";
@@ -18877,6 +19008,7 @@ type PermissionName = "geolocation" | "notifications" | "push" | "midi" | "camer
1887719008
type PermissionState = "granted" | "denied" | "prompt";
1887819009
type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse";
1887919010
type PositionAlignSetting = "line-left" | "center" | "line-right" | "auto";
19011+
type PublicKeyCredentialType = "public-key";
1888019012
type PushEncryptionKeyName = "p256dh" | "auth";
1888119013
type PushPermissionState = "denied" | "granted" | "prompt";
1888219014
type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle";
@@ -18932,6 +19064,7 @@ type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "m
1893219064
type TextTrackMode = "disabled" | "hidden" | "showing";
1893319065
type TouchType = "direct" | "stylus";
1893419066
type Transport = "usb" | "nfc" | "ble";
19067+
type UserVerificationRequirement = "required" | "preferred" | "discouraged";
1893519068
type VRDisplayEventReason = "mounted" | "navigation" | "requested" | "unmounted";
1893619069
type VideoFacingModeEnum = "user" | "environment" | "left" | "right";
1893719070
type VisibilityState = "hidden" | "visible" | "prerender";

0 commit comments

Comments
 (0)