@simplewebauthn/types@12.0.0
TypeScript types used by the @simplewebauthn series of libraries
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
88%
Published
5 months ago (12.0.0)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365// deno-fmt-ignore-file /** * Generated from typescript@5.6.3 * To regenerate, run the following command from the package root: * deno task extract-dom-types */ // BEGIN CODEGEN /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse) */ export interface AuthenticatorAssertionResponse extends AuthenticatorResponse { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/authenticatorData) */ readonly authenticatorData: ArrayBuffer; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/signature) */ readonly signature: ArrayBuffer; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAssertionResponse/userHandle) */ readonly userHandle: ArrayBuffer | null; } /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse) */ export interface AuthenticatorAttestationResponse extends AuthenticatorResponse { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/attestationObject) */ readonly attestationObject: ArrayBuffer; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getAuthenticatorData) */ getAuthenticatorData(): ArrayBuffer; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getPublicKey) */ getPublicKey(): ArrayBuffer | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getPublicKeyAlgorithm) */ getPublicKeyAlgorithm(): COSEAlgorithmIdentifier; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorAttestationResponse/getTransports) */ getTransports(): string[]; } export interface AuthenticationExtensionsClientInputs { appid?: string; credProps?: boolean; hmacCreateSecret?: boolean; minPinLength?: boolean; } export interface AuthenticationExtensionsClientOutputs { appid?: boolean; credProps?: CredentialPropertiesOutput; hmacCreateSecret?: boolean; } export interface AuthenticatorSelectionCriteria { authenticatorAttachment?: AuthenticatorAttachment; requireResidentKey?: boolean; residentKey?: ResidentKeyRequirement; userVerification?: UserVerificationRequirement; } /** * Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto) */ export interface Crypto { /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/subtle) */ readonly subtle: SubtleCrypto; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues) */ getRandomValues<T extends ArrayBufferView | null>(array: T): T; /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Crypto/randomUUID) */ randomUUID(): `${string}-${string}-${string}-${string}-${string}`; } /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential) */ export interface PublicKeyCredential extends Credential { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/authenticatorAttachment) */ readonly authenticatorAttachment: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/rawId) */ readonly rawId: ArrayBuffer; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/response) */ readonly response: AuthenticatorResponse; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/getClientExtensionResults) */ getClientExtensionResults(): AuthenticationExtensionsClientOutputs; } export interface PublicKeyCredentialCreationOptions { attestation?: AttestationConveyancePreference; authenticatorSelection?: AuthenticatorSelectionCriteria; challenge: BufferSource; excludeCredentials?: PublicKeyCredentialDescriptor[]; extensions?: AuthenticationExtensionsClientInputs; pubKeyCredParams: PublicKeyCredentialParameters[]; rp: PublicKeyCredentialRpEntity; timeout?: number; user: PublicKeyCredentialUserEntity; } export interface PublicKeyCredentialDescriptor { id: BufferSource; transports?: AuthenticatorTransport[]; type: PublicKeyCredentialType; } export interface PublicKeyCredentialParameters { alg: COSEAlgorithmIdentifier; type: PublicKeyCredentialType; } export interface PublicKeyCredentialRequestOptions { allowCredentials?: PublicKeyCredentialDescriptor[]; challenge: BufferSource; extensions?: AuthenticationExtensionsClientInputs; rpId?: string; timeout?: number; userVerification?: UserVerificationRequirement; } export interface PublicKeyCredentialUserEntity extends PublicKeyCredentialEntity { displayName: string; id: BufferSource; } /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorResponse) */ export interface AuthenticatorResponse { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AuthenticatorResponse/clientDataJSON) */ readonly clientDataJSON: ArrayBuffer; } export interface CredentialPropertiesOutput { rk?: boolean; } /** * This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto). * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto) */ export interface SubtleCrypto { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/decrypt) */ decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits) */ deriveBits(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey) */ deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest) */ digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/encrypt) */ encrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/exportKey) */ exportKey(format: "jwk", key: CryptoKey): Promise<JsonWebKey>; exportKey(format: Exclude<KeyFormat, "jwk">, key: CryptoKey): Promise<ArrayBuffer>; exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey) */ generateKey(algorithm: "Ed25519", extractable: boolean, keyUsages: ReadonlyArray<"sign" | "verify">): Promise<CryptoKeyPair>; generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>; generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey) */ importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>; importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/sign) */ sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey) */ unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/verify) */ verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/wrapKey) */ wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<ArrayBuffer>; } /** * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential) */ export interface Credential { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential/id) */ readonly id: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Credential/type) */ readonly type: string; } export interface PublicKeyCredentialRpEntity extends PublicKeyCredentialEntity { id?: string; } export interface PublicKeyCredentialEntity { name: string; } export interface RsaOaepParams extends Algorithm { label?: BufferSource; } export interface AesCtrParams extends Algorithm { counter: BufferSource; length: number; } export interface AesCbcParams extends Algorithm { iv: BufferSource; } export interface AesGcmParams extends Algorithm { additionalData?: BufferSource; iv: BufferSource; tagLength?: number; } /** * The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. * Available only in secure contexts. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey) */ export interface CryptoKey { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */ readonly algorithm: KeyAlgorithm; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */ readonly extractable: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */ readonly type: KeyType; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */ readonly usages: KeyUsage[]; } export interface EcdhKeyDeriveParams extends Algorithm { public: CryptoKey; } export interface HkdfParams extends Algorithm { hash: HashAlgorithmIdentifier; info: BufferSource; salt: BufferSource; } export interface Pbkdf2Params extends Algorithm { hash: HashAlgorithmIdentifier; iterations: number; salt: BufferSource; } export interface AesDerivedKeyParams extends Algorithm { length: number; } export interface HmacImportParams extends Algorithm { hash: HashAlgorithmIdentifier; length?: number; } export interface JsonWebKey { alg?: string; crv?: string; d?: string; dp?: string; dq?: string; e?: string; ext?: boolean; k?: string; key_ops?: string[]; kty?: string; n?: string; oth?: RsaOtherPrimesInfo[]; p?: string; q?: string; qi?: string; use?: string; x?: string; y?: string; } export interface CryptoKeyPair { privateKey: CryptoKey; publicKey: CryptoKey; } export interface RsaHashedKeyGenParams extends RsaKeyGenParams { hash: HashAlgorithmIdentifier; } export interface EcKeyGenParams extends Algorithm { namedCurve: NamedCurve; } export interface AesKeyGenParams extends Algorithm { length: number; } export interface HmacKeyGenParams extends Algorithm { hash: HashAlgorithmIdentifier; length?: number; } export interface RsaHashedImportParams extends Algorithm { hash: HashAlgorithmIdentifier; } export interface EcKeyImportParams extends Algorithm { namedCurve: NamedCurve; } export interface AesKeyAlgorithm extends KeyAlgorithm { length: number; } export interface RsaPssParams extends Algorithm { saltLength: number; } export interface EcdsaParams extends Algorithm { hash: HashAlgorithmIdentifier; } export interface Algorithm { name: string; } export interface KeyAlgorithm { name: string; } export interface RsaOtherPrimesInfo { d?: string; r?: string; t?: string; } export interface RsaKeyGenParams extends Algorithm { modulusLength: number; publicExponent: BigInteger; } export type AttestationConveyancePreference = "direct" | "enterprise" | "indirect" | "none"; export type AuthenticatorTransport = "ble" | "hybrid" | "internal" | "nfc" | "usb"; export type COSEAlgorithmIdentifier = number; export type UserVerificationRequirement = "discouraged" | "preferred" | "required"; export type AuthenticatorAttachment = "cross-platform" | "platform"; export type ResidentKeyRequirement = "discouraged" | "preferred" | "required"; export type BufferSource = ArrayBufferView | ArrayBuffer; export type PublicKeyCredentialType = "public-key"; export type AlgorithmIdentifier = Algorithm | string; export type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey"; export type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki"; export type KeyType = "private" | "public" | "secret"; export type HashAlgorithmIdentifier = AlgorithmIdentifier; export type NamedCurve = string; export type BigInteger = Uint8Array;