@capgo/capacitor-passkey 8.3.2 → 8.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/webauthn.js +1 -1
- package/dist/esm/webauthn.js.map +1 -1
- package/dist/plugin.cjs.js +1 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +1 -1
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/webauthn.js
CHANGED
package/dist/esm/webauthn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webauthn.js","sourceRoot":"","sources":["../../src/webauthn.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CreateCredentialOptions,\n GetCredentialOptions,\n PasskeyAuthenticationCredential,\n PasskeyAuthenticatorAssertionResponseJSON,\n PasskeyAuthenticatorAttestationResponseJSON,\n PasskeyCredentialDescriptor,\n PasskeyPublicKeyCredentialCreationOptionsJSON,\n PasskeyPublicKeyCredentialRequestOptionsJSON,\n PasskeyRegistrationCredential,\n} from './definitions';\nimport type { NativePasskeyRequest } from './internal';\n\ntype BufferLike = BufferSource | ArrayLike<number>;\ntype JsonRecord = Record<string, unknown>;\ntype CredentialJson = PasskeyRegistrationCredential | PasskeyAuthenticationCredential;\n\nconst PASSKEY_TYPE = 'public-key';\n\nexport function createNativeRequest(options: CreateCredentialOptions | GetCredentialOptions): NativePasskeyRequest {\n if ('mediation' in options) {\n const getOptions = options as GetCredentialOptions;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n\n const createOptions = options as CreateCredentialOptions;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\n\nexport function webAuthnCreationOptionsToJSON(\n options: PublicKeyCredentialCreationOptions,\n origin?: string,\n): PasskeyPublicKeyCredentialCreationOptionsJSON {\n return normalizeCreationOptionsJSON(\n {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: options.excludeCredentials?.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n },\n origin,\n );\n}\n\nexport function webAuthnRequestOptionsToJSON(\n options: PublicKeyCredentialRequestOptions,\n origin?: string,\n): PasskeyPublicKeyCredentialRequestOptionsJSON {\n return normalizeRequestOptionsJSON(\n {\n allowCredentials: options.allowCredentials?.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n },\n origin,\n );\n}\n\nexport function normalizeCreationOptionsJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n origin?: string,\n): PasskeyPublicKeyCredentialCreationOptionsJSON {\n const rpId = options.rp.id ?? deriveRpId(resolveOrigin(origin, options.rp.id));\n\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n\n return {\n ...options,\n excludeCredentials: options.excludeCredentials?.map(descriptorToJSON),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type ?? PASSKEY_TYPE,\n })),\n rp: {\n ...options.rp,\n id: rpId,\n },\n };\n}\n\nexport function normalizeRequestOptionsJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n origin?: string,\n): PasskeyPublicKeyCredentialRequestOptionsJSON {\n const rpId = options.rpId ?? deriveRpId(resolveOrigin(origin, options.rpId));\n\n return {\n ...options,\n allowCredentials: options.allowCredentials?.map(descriptorToJSON),\n rpId,\n };\n}\n\nexport function browserCreationOptionsFromJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n): PublicKeyCredentialCreationOptions {\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: options.excludeCredentials?.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type ?? PASSKEY_TYPE,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName ?? options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\n\nexport function browserRequestOptionsFromJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n): PublicKeyCredentialRequestOptions {\n return {\n allowCredentials: options.allowCredentials?.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\n\nexport async function browserRegistrationToJSON(credential: Credential | null): Promise<PasskeyRegistrationCredential> {\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response as AuthenticatorAttestationResponse;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson as PasskeyRegistrationCredential);\n }\n\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord(publicKeyCredential.getClientExtensionResults?.()),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\n\nexport async function browserAuthenticationToJSON(\n credential: Credential | null,\n): Promise<PasskeyAuthenticationCredential> {\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response as AuthenticatorAssertionResponse;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson as PasskeyAuthenticationCredential);\n }\n\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord(publicKeyCredential.getClientExtensionResults?.()),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\n\nexport function credentialFromJSON(credential: CredentialJson): PublicKeyCredential {\n const shimCredential = new PasskeyPublicKeyCredential(credential) as unknown as PublicKeyCredential;\n\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n\n return shimCredential;\n}\n\nexport function parseCreationOptionsFromJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n): PublicKeyCredentialCreationOptions {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\n\nexport function parseRequestOptionsFromJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n): PublicKeyCredentialRequestOptions {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\n\nexport function decodeBase64Url(value: string): ArrayBuffer {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\n\nexport function encodeBase64Url(value: BufferLike | null | undefined): string {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n const bytes = toUint8Array(value);\n let binary = '';\n\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\n\nexport function resolveOrigin(explicitOrigin?: string, rpId?: string): string | undefined {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n\n if (rpId) {\n return `https://${rpId}`;\n }\n\n return undefined;\n}\n\nexport function createPasskeyDomException(name: string, message: string): Error {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n\n const error = new Error(message);\n error.name = name;\n return error;\n}\n\nexport function abortIfNeeded(signal?: AbortSignal | null): void {\n if (signal?.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\n\nexport function normalizePluginError(error: unknown): Error {\n if (error instanceof Error) {\n return error;\n }\n\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n\n return createPasskeyDomException(name, message);\n}\n\nfunction credentialWithToJSON(credential: PublicKeyCredential): CredentialJson | null {\n const toJSON = (credential as PublicKeyCredential & { toJSON?: () => unknown }).toJSON;\n\n if (typeof toJSON !== 'function') {\n return null;\n }\n\n const json = toJSON();\n\n if (!json || typeof json !== 'object') {\n return null;\n }\n\n const response = (json as { response?: JsonRecord }).response;\n if (!response) {\n return null;\n }\n\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json as Partial<PasskeyRegistrationCredential>);\n }\n\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json as Partial<PasskeyAuthenticationCredential>);\n }\n\n return null;\n}\n\nfunction normalizeRegistrationCredential(\n credential: Partial<PasskeyRegistrationCredential>,\n): PasskeyRegistrationCredential {\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: credential.clientExtensionResults ?? {},\n id: String(credential.id ?? ''),\n rawId: String(credential.rawId ?? credential.id ?? ''),\n response: normalizeAttestationResponse(credential.response ?? {}),\n type: PASSKEY_TYPE,\n };\n}\n\nfunction normalizeAuthenticationCredential(\n credential: Partial<PasskeyAuthenticationCredential>,\n): PasskeyAuthenticationCredential {\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: credential.clientExtensionResults ?? {},\n id: String(credential.id ?? ''),\n rawId: String(credential.rawId ?? credential.id ?? ''),\n response: normalizeAssertionResponse(credential.response ?? {}),\n type: PASSKEY_TYPE,\n };\n}\n\nfunction normalizeAttestationResponse(\n response: Partial<PasskeyAuthenticatorAttestationResponseJSON>,\n): PasskeyAuthenticatorAttestationResponseJSON {\n return {\n attestationObject: String(response.attestationObject ?? ''),\n clientDataJSON: String(response.clientDataJSON ?? ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\n\nfunction normalizeAssertionResponse(\n response: Partial<PasskeyAuthenticatorAssertionResponseJSON>,\n): PasskeyAuthenticatorAssertionResponseJSON {\n return {\n authenticatorData: String(response.authenticatorData ?? ''),\n clientDataJSON: String(response.clientDataJSON ?? ''),\n signature: String(response.signature ?? ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\n\nfunction expectPublicKeyCredential(credential: Credential | null, flow: string): PublicKeyCredential {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n\n return credential;\n}\n\nfunction descriptorToJSON(\n descriptor: PublicKeyCredentialDescriptor | PasskeyCredentialDescriptor,\n): PasskeyCredentialDescriptor {\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: descriptor.type ?? PASSKEY_TYPE,\n };\n}\n\nfunction jsonDescriptorToBrowser(descriptor: PasskeyCredentialDescriptor): PublicKeyCredentialDescriptor {\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports as AuthenticatorTransport[] | undefined,\n type: descriptor.type ?? PASSKEY_TYPE,\n };\n}\n\nfunction cloneExtensions(\n extensions: AuthenticationExtensionsClientInputs | JsonRecord | undefined,\n): JsonRecord | undefined {\n if (!extensions) {\n return undefined;\n }\n\n return JSON.parse(JSON.stringify(extensions)) as JsonRecord;\n}\n\nfunction nullableBufferToBase64Url(value: ArrayBuffer | null): string | null;\nfunction nullableBufferToBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | null | undefined;\nfunction nullableBufferToBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | null | undefined {\n if (typeof value === 'undefined') {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n return encodeBase64Url(value);\n}\n\nfunction nullableBufferToOptionalBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | undefined {\n const encoded = nullableBufferToBase64Url(value);\n return encoded ?? undefined;\n}\n\nfunction deriveRpId(origin?: string): string | undefined {\n if (!origin) {\n return undefined;\n }\n\n try {\n return new URL(origin).hostname;\n } catch {\n return undefined;\n }\n}\n\nfunction base64UrlToBytes(value: string): Uint8Array {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n\n return bytes;\n}\n\nfunction toUint8Array(value: BufferLike): Uint8Array {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n\n return new Uint8Array(value);\n}\n\nfunction normalizeAttachment(value: string | null | undefined) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n\n return undefined;\n}\n\nfunction clientExtensionResultsToRecord(\n value: AuthenticationExtensionsClientOutputs | undefined,\n): Record<string, unknown> {\n if (!value) {\n return {};\n }\n\n return JSON.parse(JSON.stringify(value)) as Record<string, unknown>;\n}\n\nexport class PasskeyAuthenticatorAttestationResponse {\n public readonly clientDataJSON: ArrayBuffer;\n public readonly attestationObject: ArrayBuffer;\n public readonly authenticatorData: ArrayBuffer;\n\n constructor(private readonly json: PasskeyAuthenticatorAttestationResponseJSON) {\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n\n getPublicKey(): ArrayBuffer | null {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n\n getPublicKeyAlgorithm(): number {\n return this.json.publicKeyAlgorithm ?? -7;\n }\n\n getTransports(): string[] {\n return this.json.transports ? [...this.json.transports] : [];\n }\n\n getAuthenticatorData(): ArrayBuffer {\n return this.authenticatorData;\n }\n\n toJSON(): PasskeyAuthenticatorAttestationResponseJSON {\n return { ...this.json };\n }\n}\n\nexport class PasskeyAuthenticatorAssertionResponse {\n public readonly clientDataJSON: ArrayBuffer;\n public readonly authenticatorData: ArrayBuffer;\n public readonly signature: ArrayBuffer;\n public readonly userHandle: ArrayBuffer | null;\n\n constructor(private readonly json: PasskeyAuthenticatorAssertionResponseJSON) {\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n\n toJSON(): PasskeyAuthenticatorAssertionResponseJSON {\n return { ...this.json };\n }\n}\n\nexport class PasskeyPublicKeyCredential {\n public readonly id: string;\n public readonly rawId: ArrayBuffer;\n public readonly type: PublicKeyCredentialType = PASSKEY_TYPE;\n public readonly authenticatorAttachment: string | null;\n public readonly response: PasskeyAuthenticatorAttestationResponse | PasskeyAuthenticatorAssertionResponse;\n\n constructor(private readonly json: CredentialJson) {\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = json.authenticatorAttachment ?? null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n\n getClientExtensionResults(): AuthenticationExtensionsClientOutputs {\n return (this.json.clientExtensionResults ?? {}) as AuthenticationExtensionsClientOutputs;\n }\n\n toJSON(): CredentialJson {\n return JSON.parse(JSON.stringify(this.json)) as CredentialJson;\n }\n}\n\nfunction resolveErrorName(error: unknown): string {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n\n return 'UnknownError';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"webauthn.js","sourceRoot":"","sources":["../../src/webauthn.ts"],"names":[],"mappings":"AAiBA,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,UAAU,mBAAmB,CAAC,OAAuD;IACzF,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAA+B,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YACnE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;SAClG,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,OAAkC,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACzG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAA2C,EAC3C,MAAe;;IAEf,OAAO,4BAA4B,CACjC;QACE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACpD,CAAC,CAAC;gBACE,uBAAuB,EAAE,OAAO,CAAC,sBAAsB,CAAC,uBAAuB;gBAC/E,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC,kBAAkB;gBACrE,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,WAAW;gBACvD,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB;aAClE;YACH,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,kBAAkB,EAAE,MAAA,OAAO,CAAC,kBAAkB,0CAAE,GAAG,CAAC,gBAAgB,CAAC;QACrE,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,EAAE,EAAE;YACF,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI;SACtB;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACxB;KACF,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAA0C,EAC1C,MAAe;;IAEf,OAAO,2BAA2B,CAChC;QACE,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,0CAAE,GAAG,CAAC,gBAAgB,CAAC;QACjE,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAsD,EACtD,MAAe;;IAEf,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,EAAE,CAAC,EAAE,mCAAI,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,yBAAyB,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;IAClG,CAAC;IAED,uCACK,OAAO,KACV,kBAAkB,EAAE,MAAA,OAAO,CAAC,kBAAkB,0CAAE,GAAG,CAAC,gBAAgB,CAAC,EACrE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;YAAC,OAAA,CAAC;gBACzD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,YAAY;aACjC,CAAC,CAAA;SAAA,CAAC,EACH,EAAE,kCACG,OAAO,CAAC,EAAE,KACb,EAAE,EAAE,IAAI,OAEV;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAqD,EACrD,MAAe;;IAEf,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,uCACK,OAAO,KACV,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,0CAAE,GAAG,CAAC,gBAAgB,CAAC,EACjE,IAAI,IACJ;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAAsD;;IAEtD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACpD,CAAC,CAAC;gBACE,uBAAuB,EAAE,OAAO,CAAC,sBAAsB,CAAC,uBAAuB;gBAC/E,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC,kBAAkB;gBACrE,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,WAAW;gBACvD,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,gBAAgB;aAClE;YACH,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,kBAAkB,EAAE,MAAA,OAAO,CAAC,kBAAkB,0CAAE,GAAG,CAAC,uBAAuB,CAAC;QAC5E,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;YAAC,OAAA,CAAC;gBACzD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,YAAY;aACjC,CAAC,CAAA;SAAA,CAAC;QACH,EAAE,EAAE;YACF,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE;YACjB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI;SACtB;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE;YACJ,WAAW,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,WAAW,mCAAI,OAAO,CAAC,IAAI,CAAC,IAAI;YAC1D,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACxB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAqD;;IAErD,OAAO;QACL,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,0CAAE,GAAG,CAAC,uBAAuB,CAAC;QACxE,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAA6B;;IAC3E,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAA4C,CAAC;IAClF,MAAM,UAAU,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAE7D,IAAI,UAAU,IAAI,mBAAmB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7D,OAAO,+BAA+B,CAAC,UAA2C,CAAC,CAAC;IACtF,CAAC;IAED,OAAO;QACL,uBAAuB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;QACzF,sBAAsB,EAAE,8BAA8B,CAAC,MAAA,mBAAmB,CAAC,yBAAyB,mEAAI,CAAC;QACzG,EAAE,EAAE,mBAAmB,CAAC,EAAE;QAC1B,KAAK,EAAE,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE;YACR,iBAAiB,EAAE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9D,cAAc,EAAE,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC;YACxD,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,iCAAiC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACzG,kBAAkB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS;YACjG,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SAC1E;QACD,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAA6B;;IAE7B,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAA0C,CAAC;IAChF,MAAM,UAAU,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAE7D,IAAI,UAAU,IAAI,mBAAmB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7D,OAAO,iCAAiC,CAAC,UAA6C,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACL,uBAAuB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;QACzF,sBAAsB,EAAE,8BAA8B,CAAC,MAAA,mBAAmB,CAAC,yBAAyB,mEAAI,CAAC;QACzG,EAAE,EAAE,mBAAmB,CAAC,EAAE;QAC1B,KAAK,EAAE,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE;YACR,iBAAiB,EAAE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9D,cAAc,EAAE,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC;YACxD,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9C,UAAU,EAAE,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC3D;QACD,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAA0B;IAC3D,MAAM,cAAc,GAAG,IAAI,0BAA0B,CAAC,UAAU,CAAmC,CAAC;IAEpG,IAAI,OAAO,UAAU,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAsD;IAEtD,OAAO,8BAA8B,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAqD;IAErD,OAAO,6BAA6B,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoC;IAClE,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,cAAuB,EAAE,IAAa;IAClE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClG,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,WAAW,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,OAAe;IACrE,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC;QACpB,MAAM,yBAAyB,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA+B;IAC3D,MAAM,MAAM,GAAI,UAA+D,CAAC,MAAM,CAAC;IAEvF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAI,IAAkC,CAAC,QAAQ,CAAC;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,mBAAmB,IAAI,QAAQ,EAAE,CAAC;QACpC,OAAO,+BAA+B,CAAC,IAA8C,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,mBAAmB,IAAI,QAAQ,EAAE,CAAC;QACpC,OAAO,iCAAiC,CAAC,IAAgD,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAkD;;IAElD,OAAO;QACL,uBAAuB,EAAE,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAChF,sBAAsB,EAAE,MAAA,UAAU,CAAC,sBAAsB,mCAAI,EAAE;QAC/D,EAAE,EAAE,MAAM,CAAC,MAAA,UAAU,CAAC,EAAE,mCAAI,EAAE,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAA,MAAA,UAAU,CAAC,KAAK,mCAAI,UAAU,CAAC,EAAE,mCAAI,EAAE,CAAC;QACtD,QAAQ,EAAE,4BAA4B,CAAC,MAAA,UAAU,CAAC,QAAQ,mCAAI,EAAE,CAAC;QACjE,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,UAAoD;;IAEpD,OAAO;QACL,uBAAuB,EAAE,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAChF,sBAAsB,EAAE,MAAA,UAAU,CAAC,sBAAsB,mCAAI,EAAE;QAC/D,EAAE,EAAE,MAAM,CAAC,MAAA,UAAU,CAAC,EAAE,mCAAI,EAAE,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,MAAA,MAAA,UAAU,CAAC,KAAK,mCAAI,UAAU,CAAC,EAAE,mCAAI,EAAE,CAAC;QACtD,QAAQ,EAAE,0BAA0B,CAAC,MAAA,UAAU,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC/D,IAAI,EAAE,YAAY;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,QAA8D;;IAE9D,OAAO;QACL,iBAAiB,EAAE,MAAM,CAAC,MAAA,QAAQ,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QAC3D,cAAc,EAAE,MAAM,CAAC,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;QACrD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAA4D;;IAE5D,OAAO;QACL,iBAAiB,EAAE,MAAM,CAAC,MAAA,QAAQ,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QAC3D,cAAc,EAAE,MAAM,CAAC,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;QACrD,SAAS,EAAE,MAAM,CAAC,MAAA,QAAQ,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC3C,UAAU,EAAE,OAAO,QAAQ,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU;KACpF,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA6B,EAAE,IAAY;IAC5E,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,YAAY,mBAAmB,CAAC,EAAE,CAAC;QAChE,MAAM,yBAAyB,CAAC,mBAAmB,EAAE,gCAAgC,IAAI,cAAc,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAuE;;IAEvE,OAAO;QACL,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QACtF,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1E,IAAI,EAAE,MAAA,UAAU,CAAC,IAAI,mCAAI,YAAY;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAuC;;IACtE,OAAO;QACL,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,UAAU,EAAE,UAAU,CAAC,UAAkD;QACzE,IAAI,EAAE,MAAA,UAAU,CAAC,IAAI,mCAAI,YAAY;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,UAAyE;IAEzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAe,CAAC;AAC9D,CAAC;AAID,SAAS,yBAAyB,CAAC,KAAoD;IACrF,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iCAAiC,CAAC,KAAoD;IAC7F,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAClC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,UAAU,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgC;IAC3D,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAwD;IAExD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA4B,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,uCAAuC;IAKlD,YAA6B,IAAiD;QAAjD,SAAI,GAAJ,IAAI,CAA6C;QAC5E,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAED,qBAAqB;;QACnB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,mCAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,yBAAY,IAAI,CAAC,IAAI,EAAG;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,qCAAqC;IAMhD,YAA6B,IAA+C;QAA/C,SAAI,GAAJ,IAAI,CAA2C;QAC1E,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;IAED,MAAM;QACJ,yBAAY,IAAI,CAAC,IAAI,EAAG;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,0BAA0B;IAOrC,YAA6B,IAAoB;;QAApB,SAAI,GAAJ,IAAI,CAAgB;QAJjC,SAAI,GAA4B,YAAY,CAAC;QAK3D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,uBAAuB,GAAG,MAAA,IAAI,CAAC,uBAAuB,mCAAI,IAAI,CAAC;QACpE,IAAI,CAAC,QAAQ;YACX,mBAAmB,IAAI,IAAI,CAAC,QAAQ;gBAClC,CAAC,CAAC,IAAI,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5D,CAAC,CAAC,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,yBAAyB;;QACvB,OAAO,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,mCAAI,EAAE,CAA0C,CAAC;IAC3F,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAmB,CAAC;IACjE,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvC,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5F,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["import type {\n CreateCredentialOptions,\n GetCredentialOptions,\n PasskeyAuthenticationCredential,\n PasskeyAuthenticatorAssertionResponseJSON,\n PasskeyAuthenticatorAttestationResponseJSON,\n PasskeyCredentialDescriptor,\n PasskeyPublicKeyCredentialCreationOptionsJSON,\n PasskeyPublicKeyCredentialRequestOptionsJSON,\n PasskeyRegistrationCredential,\n} from './definitions';\nimport type { NativePasskeyRequest } from './internal';\n\ntype BufferLike = BufferSource | ArrayLike<number>;\ntype JsonRecord = Record<string, unknown>;\ntype CredentialJson = PasskeyRegistrationCredential | PasskeyAuthenticationCredential;\n\nconst PASSKEY_TYPE = 'public-key';\n\nexport function createNativeRequest(options: CreateCredentialOptions | GetCredentialOptions): NativePasskeyRequest {\n if ('mediation' in options) {\n const getOptions = options as GetCredentialOptions;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n\n const createOptions = options as CreateCredentialOptions;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\n\nexport function webAuthnCreationOptionsToJSON(\n options: PublicKeyCredentialCreationOptions,\n origin?: string,\n): PasskeyPublicKeyCredentialCreationOptionsJSON {\n return normalizeCreationOptionsJSON(\n {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: options.excludeCredentials?.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n },\n origin,\n );\n}\n\nexport function webAuthnRequestOptionsToJSON(\n options: PublicKeyCredentialRequestOptions,\n origin?: string,\n): PasskeyPublicKeyCredentialRequestOptionsJSON {\n return normalizeRequestOptionsJSON(\n {\n allowCredentials: options.allowCredentials?.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n },\n origin,\n );\n}\n\nexport function normalizeCreationOptionsJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n origin?: string,\n): PasskeyPublicKeyCredentialCreationOptionsJSON {\n const rpId = options.rp.id ?? deriveRpId(resolveOrigin(origin, options.rp.id));\n\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n\n return {\n ...options,\n excludeCredentials: options.excludeCredentials?.map(descriptorToJSON),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type ?? PASSKEY_TYPE,\n })),\n rp: {\n ...options.rp,\n id: rpId,\n },\n };\n}\n\nexport function normalizeRequestOptionsJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n origin?: string,\n): PasskeyPublicKeyCredentialRequestOptionsJSON {\n const rpId = options.rpId ?? deriveRpId(resolveOrigin(origin, options.rpId));\n\n return {\n ...options,\n allowCredentials: options.allowCredentials?.map(descriptorToJSON),\n rpId,\n };\n}\n\nexport function browserCreationOptionsFromJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n): PublicKeyCredentialCreationOptions {\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: options.excludeCredentials?.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type ?? PASSKEY_TYPE,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName ?? options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\n\nexport function browserRequestOptionsFromJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n): PublicKeyCredentialRequestOptions {\n return {\n allowCredentials: options.allowCredentials?.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\n\nexport async function browserRegistrationToJSON(credential: Credential | null): Promise<PasskeyRegistrationCredential> {\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response as AuthenticatorAttestationResponse;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson as PasskeyRegistrationCredential);\n }\n\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord(publicKeyCredential.getClientExtensionResults?.()),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\n\nexport async function browserAuthenticationToJSON(\n credential: Credential | null,\n): Promise<PasskeyAuthenticationCredential> {\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response as AuthenticatorAssertionResponse;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson as PasskeyAuthenticationCredential);\n }\n\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord(publicKeyCredential.getClientExtensionResults?.()),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\n\nexport function credentialFromJSON(credential: CredentialJson): PublicKeyCredential {\n const shimCredential = new PasskeyPublicKeyCredential(credential) as unknown as PublicKeyCredential;\n\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n\n return shimCredential;\n}\n\nexport function parseCreationOptionsFromJSON(\n options: PasskeyPublicKeyCredentialCreationOptionsJSON,\n): PublicKeyCredentialCreationOptions {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\n\nexport function parseRequestOptionsFromJSON(\n options: PasskeyPublicKeyCredentialRequestOptionsJSON,\n): PublicKeyCredentialRequestOptions {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\n\nexport function decodeBase64Url(value: string): ArrayBuffer {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\n\nexport function encodeBase64Url(value: BufferLike | null | undefined): string {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n const bytes = toUint8Array(value);\n let binary = '';\n\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\n\nexport function resolveOrigin(explicitOrigin?: string, rpId?: string): string | undefined {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n\n if (rpId) {\n return `https://${rpId}`;\n }\n\n return undefined;\n}\n\nexport function createPasskeyDomException(name: string, message: string): Error {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n\n const error = new Error(message);\n error.name = name;\n return error;\n}\n\nexport function abortIfNeeded(signal?: AbortSignal | null): void {\n if (signal?.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\n\nexport function normalizePluginError(error: unknown): Error {\n if (error instanceof Error) {\n return error;\n }\n\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n\n return createPasskeyDomException(name, message);\n}\n\nfunction credentialWithToJSON(credential: PublicKeyCredential): CredentialJson | null {\n const toJSON = (credential as PublicKeyCredential & { toJSON?: () => unknown }).toJSON;\n\n if (typeof toJSON !== 'function') {\n return null;\n }\n\n const json = toJSON.call(credential);\n\n if (!json || typeof json !== 'object') {\n return null;\n }\n\n const response = (json as { response?: JsonRecord }).response;\n if (!response) {\n return null;\n }\n\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json as Partial<PasskeyRegistrationCredential>);\n }\n\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json as Partial<PasskeyAuthenticationCredential>);\n }\n\n return null;\n}\n\nfunction normalizeRegistrationCredential(\n credential: Partial<PasskeyRegistrationCredential>,\n): PasskeyRegistrationCredential {\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: credential.clientExtensionResults ?? {},\n id: String(credential.id ?? ''),\n rawId: String(credential.rawId ?? credential.id ?? ''),\n response: normalizeAttestationResponse(credential.response ?? {}),\n type: PASSKEY_TYPE,\n };\n}\n\nfunction normalizeAuthenticationCredential(\n credential: Partial<PasskeyAuthenticationCredential>,\n): PasskeyAuthenticationCredential {\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: credential.clientExtensionResults ?? {},\n id: String(credential.id ?? ''),\n rawId: String(credential.rawId ?? credential.id ?? ''),\n response: normalizeAssertionResponse(credential.response ?? {}),\n type: PASSKEY_TYPE,\n };\n}\n\nfunction normalizeAttestationResponse(\n response: Partial<PasskeyAuthenticatorAttestationResponseJSON>,\n): PasskeyAuthenticatorAttestationResponseJSON {\n return {\n attestationObject: String(response.attestationObject ?? ''),\n clientDataJSON: String(response.clientDataJSON ?? ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\n\nfunction normalizeAssertionResponse(\n response: Partial<PasskeyAuthenticatorAssertionResponseJSON>,\n): PasskeyAuthenticatorAssertionResponseJSON {\n return {\n authenticatorData: String(response.authenticatorData ?? ''),\n clientDataJSON: String(response.clientDataJSON ?? ''),\n signature: String(response.signature ?? ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\n\nfunction expectPublicKeyCredential(credential: Credential | null, flow: string): PublicKeyCredential {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n\n return credential;\n}\n\nfunction descriptorToJSON(\n descriptor: PublicKeyCredentialDescriptor | PasskeyCredentialDescriptor,\n): PasskeyCredentialDescriptor {\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: descriptor.type ?? PASSKEY_TYPE,\n };\n}\n\nfunction jsonDescriptorToBrowser(descriptor: PasskeyCredentialDescriptor): PublicKeyCredentialDescriptor {\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports as AuthenticatorTransport[] | undefined,\n type: descriptor.type ?? PASSKEY_TYPE,\n };\n}\n\nfunction cloneExtensions(\n extensions: AuthenticationExtensionsClientInputs | JsonRecord | undefined,\n): JsonRecord | undefined {\n if (!extensions) {\n return undefined;\n }\n\n return JSON.parse(JSON.stringify(extensions)) as JsonRecord;\n}\n\nfunction nullableBufferToBase64Url(value: ArrayBuffer | null): string | null;\nfunction nullableBufferToBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | null | undefined;\nfunction nullableBufferToBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | null | undefined {\n if (typeof value === 'undefined') {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n return encodeBase64Url(value);\n}\n\nfunction nullableBufferToOptionalBase64Url(value: ArrayBuffer | BufferSource | null | undefined): string | undefined {\n const encoded = nullableBufferToBase64Url(value);\n return encoded ?? undefined;\n}\n\nfunction deriveRpId(origin?: string): string | undefined {\n if (!origin) {\n return undefined;\n }\n\n try {\n return new URL(origin).hostname;\n } catch {\n return undefined;\n }\n}\n\nfunction base64UrlToBytes(value: string): Uint8Array {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n\n return bytes;\n}\n\nfunction toUint8Array(value: BufferLike): Uint8Array {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n\n return new Uint8Array(value);\n}\n\nfunction normalizeAttachment(value: string | null | undefined) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n\n return undefined;\n}\n\nfunction clientExtensionResultsToRecord(\n value: AuthenticationExtensionsClientOutputs | undefined,\n): Record<string, unknown> {\n if (!value) {\n return {};\n }\n\n return JSON.parse(JSON.stringify(value)) as Record<string, unknown>;\n}\n\nexport class PasskeyAuthenticatorAttestationResponse {\n public readonly clientDataJSON: ArrayBuffer;\n public readonly attestationObject: ArrayBuffer;\n public readonly authenticatorData: ArrayBuffer;\n\n constructor(private readonly json: PasskeyAuthenticatorAttestationResponseJSON) {\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n\n getPublicKey(): ArrayBuffer | null {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n\n getPublicKeyAlgorithm(): number {\n return this.json.publicKeyAlgorithm ?? -7;\n }\n\n getTransports(): string[] {\n return this.json.transports ? [...this.json.transports] : [];\n }\n\n getAuthenticatorData(): ArrayBuffer {\n return this.authenticatorData;\n }\n\n toJSON(): PasskeyAuthenticatorAttestationResponseJSON {\n return { ...this.json };\n }\n}\n\nexport class PasskeyAuthenticatorAssertionResponse {\n public readonly clientDataJSON: ArrayBuffer;\n public readonly authenticatorData: ArrayBuffer;\n public readonly signature: ArrayBuffer;\n public readonly userHandle: ArrayBuffer | null;\n\n constructor(private readonly json: PasskeyAuthenticatorAssertionResponseJSON) {\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n\n toJSON(): PasskeyAuthenticatorAssertionResponseJSON {\n return { ...this.json };\n }\n}\n\nexport class PasskeyPublicKeyCredential {\n public readonly id: string;\n public readonly rawId: ArrayBuffer;\n public readonly type: PublicKeyCredentialType = PASSKEY_TYPE;\n public readonly authenticatorAttachment: string | null;\n public readonly response: PasskeyAuthenticatorAttestationResponse | PasskeyAuthenticatorAssertionResponse;\n\n constructor(private readonly json: CredentialJson) {\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = json.authenticatorAttachment ?? null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n\n getClientExtensionResults(): AuthenticationExtensionsClientOutputs {\n return (this.json.clientExtensionResults ?? {}) as AuthenticationExtensionsClientOutputs;\n }\n\n toJSON(): CredentialJson {\n return JSON.parse(JSON.stringify(this.json)) as CredentialJson;\n }\n}\n\nfunction resolveErrorName(error: unknown): string {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n\n return 'UnknownError';\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/webauthn.js","esm/shim.js","esm/index.js","esm/web.js"],"sourcesContent":["const PASSKEY_TYPE = 'public-key';\nexport function createNativeRequest(options) {\n if ('mediation' in options) {\n const getOptions = options;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n const createOptions = options;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\nexport function webAuthnCreationOptionsToJSON(options, origin) {\n var _a;\n return normalizeCreationOptionsJSON({\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n }, origin);\n}\nexport function webAuthnRequestOptionsToJSON(options, origin) {\n var _a;\n return normalizeRequestOptionsJSON({\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n }, origin);\n}\nexport function normalizeCreationOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rp.id) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rp.id));\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n return Object.assign(Object.assign({}, options), { excludeCredentials: (_b = options.excludeCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }), rp: Object.assign(Object.assign({}, options.rp), { id: rpId }) });\n}\nexport function normalizeRequestOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rpId) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rpId));\n return Object.assign(Object.assign({}, options), { allowCredentials: (_b = options.allowCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), rpId });\n}\nexport function browserCreationOptionsFromJSON(options) {\n var _a, _b;\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: (_b = options.user.displayName) !== null && _b !== void 0 ? _b : options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\nexport function browserRequestOptionsFromJSON(options) {\n var _a;\n return {\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\nexport async function browserRegistrationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\nexport async function browserAuthenticationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\nexport function credentialFromJSON(credential) {\n const shimCredential = new PasskeyPublicKeyCredential(credential);\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n return shimCredential;\n}\nexport function parseCreationOptionsFromJSON(options) {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\nexport function parseRequestOptionsFromJSON(options) {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\nexport function decodeBase64Url(value) {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\nexport function encodeBase64Url(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n const bytes = toUint8Array(value);\n let binary = '';\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\nexport function resolveOrigin(explicitOrigin, rpId) {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n if (rpId) {\n return `https://${rpId}`;\n }\n return undefined;\n}\nexport function createPasskeyDomException(name, message) {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n const error = new Error(message);\n error.name = name;\n return error;\n}\nexport function abortIfNeeded(signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\nexport function normalizePluginError(error) {\n if (error instanceof Error) {\n return error;\n }\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n return createPasskeyDomException(name, message);\n}\nfunction credentialWithToJSON(credential) {\n const toJSON = credential.toJSON;\n if (typeof toJSON !== 'function') {\n return null;\n }\n const json = toJSON();\n if (!json || typeof json !== 'object') {\n return null;\n }\n const response = json.response;\n if (!response) {\n return null;\n }\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json);\n }\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json);\n }\n return null;\n}\nfunction normalizeRegistrationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAttestationResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAuthenticationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAssertionResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAttestationResponse(response) {\n var _a, _b;\n return {\n attestationObject: String((_a = response.attestationObject) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\nfunction normalizeAssertionResponse(response) {\n var _a, _b, _c;\n return {\n authenticatorData: String((_a = response.authenticatorData) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n signature: String((_c = response.signature) !== null && _c !== void 0 ? _c : ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\nfunction expectPublicKeyCredential(credential, flow) {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n return credential;\n}\nfunction descriptorToJSON(descriptor) {\n var _a;\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction jsonDescriptorToBrowser(descriptor) {\n var _a;\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction cloneExtensions(extensions) {\n if (!extensions) {\n return undefined;\n }\n return JSON.parse(JSON.stringify(extensions));\n}\nfunction nullableBufferToBase64Url(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return encodeBase64Url(value);\n}\nfunction nullableBufferToOptionalBase64Url(value) {\n const encoded = nullableBufferToBase64Url(value);\n return encoded !== null && encoded !== void 0 ? encoded : undefined;\n}\nfunction deriveRpId(origin) {\n if (!origin) {\n return undefined;\n }\n try {\n return new URL(origin).hostname;\n }\n catch (_a) {\n return undefined;\n }\n}\nfunction base64UrlToBytes(value) {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n return bytes;\n}\nfunction toUint8Array(value) {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n return new Uint8Array(value);\n}\nfunction normalizeAttachment(value) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n return undefined;\n}\nfunction clientExtensionResultsToRecord(value) {\n if (!value) {\n return {};\n }\n return JSON.parse(JSON.stringify(value));\n}\nexport class PasskeyAuthenticatorAttestationResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n getPublicKey() {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n getPublicKeyAlgorithm() {\n var _a;\n return (_a = this.json.publicKeyAlgorithm) !== null && _a !== void 0 ? _a : -7;\n }\n getTransports() {\n return this.json.transports ? [...this.json.transports] : [];\n }\n getAuthenticatorData() {\n return this.authenticatorData;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyAuthenticatorAssertionResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyPublicKeyCredential {\n constructor(json) {\n var _a;\n this.json = json;\n this.type = PASSKEY_TYPE;\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = (_a = json.authenticatorAttachment) !== null && _a !== void 0 ? _a : null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n getClientExtensionResults() {\n var _a;\n return ((_a = this.json.clientExtensionResults) !== null && _a !== void 0 ? _a : {});\n }\n toJSON() {\n return JSON.parse(JSON.stringify(this.json));\n }\n}\nfunction resolveErrorName(error) {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n return 'UnknownError';\n}\n//# sourceMappingURL=webauthn.js.map","import { abortIfNeeded, createPasskeyDomException, credentialFromJSON, PasskeyPublicKeyCredential, normalizePluginError, parseCreationOptionsFromJSON, parseRequestOptionsFromJSON, webAuthnCreationOptionsToJSON, webAuthnRequestOptionsToJSON, PasskeyAuthenticatorAssertionResponse, PasskeyAuthenticatorAttestationResponse, } from './webauthn';\nexport function installWebAuthnShim({ root = globalThis, plugin, options }) {\n var _a;\n const shimRoot = root;\n const config = Object.assign(Object.assign({}, ((_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {})), (options !== null && options !== void 0 ? options : {}));\n shimRoot.__capgoPasskeyShimConfig = config;\n if (shimRoot.__capgoPasskeyShimInstalled && !config.force) {\n return;\n }\n Object.defineProperty(root.window, 'PublicKeyCredential', {\n configurable: true,\n writable: true,\n value: PasskeyPublicKeyCredential,\n });\n Object.defineProperty(root.window, 'AuthenticatorAttestationResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAttestationResponse,\n });\n Object.defineProperty(root.window, 'AuthenticatorAssertionResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAssertionResponse,\n });\n const originalCredentials = shimRoot.navigator.credentials;\n const patchedCredentials = {\n create: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.create) {\n return originalCredentials.create.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential creation is supported.');\n }\n abortIfNeeded(request.signal);\n const response = (await plugin.createCredential({\n origin: currentConfig.origin,\n publicKey: webAuthnCreationOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n get: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.get) {\n return originalCredentials.get.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential requests are supported.');\n }\n abortIfNeeded(request.signal);\n if (request.mediation === 'conditional') {\n throw createPasskeyDomException('NotSupportedError', 'Conditional mediation is not available through the Capacitor passkey shim.');\n }\n const response = (await plugin.getCredential({\n mediation: request.mediation,\n origin: currentConfig.origin,\n publicKey: webAuthnRequestOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n preventSilentAccess: async () => {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.preventSilentAccess) {\n await originalCredentials.preventSilentAccess.call(originalCredentials);\n }\n },\n store: async (credential) => {\n if ((originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.store) && credential) {\n await originalCredentials.store.call(originalCredentials, credential);\n }\n },\n };\n try {\n Object.defineProperty(shimRoot.navigator, 'credentials', {\n configurable: true,\n value: patchedCredentials,\n writable: false,\n });\n }\n catch (_b) {\n shimRoot.navigator.credentials = patchedCredentials;\n }\n installPublicKeyCredentialStatics(shimRoot, plugin);\n shimRoot.__capgoPasskeyShimInstalled = true;\n}\nfunction installPublicKeyCredentialStatics(root, plugin) {\n var _a;\n const nativePublicKeyCredential = (_a = root.PublicKeyCredential) !== null && _a !== void 0 ? _a : class {\n };\n const supportRequest = async () => {\n try {\n return await plugin.isSupported();\n }\n catch (error) {\n throw normalizePluginError(error);\n }\n };\n defineStatic(nativePublicKeyCredential, 'isUserVerifyingPlatformAuthenticatorAvailable', async () => {\n const support = await supportRequest();\n return support.available;\n });\n defineStatic(nativePublicKeyCredential, 'isConditionalMediationAvailable', async () => {\n const support = await supportRequest();\n return support.conditionalMediation;\n });\n defineStatic(nativePublicKeyCredential, 'parseCreationOptionsFromJSON', parseCreationOptionsFromJSON);\n defineStatic(nativePublicKeyCredential, 'parseRequestOptionsFromJSON', parseRequestOptionsFromJSON);\n root.PublicKeyCredential = nativePublicKeyCredential;\n}\nfunction defineStatic(target, key, value) {\n try {\n Object.defineProperty(target, key, {\n configurable: true,\n value,\n writable: true,\n });\n }\n catch (_a) {\n Reflect.set(target, key, value);\n }\n}\n//# sourceMappingURL=shim.js.map","import { registerPlugin } from '@capacitor/core';\nimport { installWebAuthnShim } from './shim';\nimport { createNativeRequest } from './webauthn';\nconst NativeCapacitorPasskey = registerPlugin('CapacitorPasskey', {\n web: () => import('./web').then((module) => new module.CapacitorPasskeyWeb()),\n});\nlet configurationPromise;\nlet cachedConfiguration;\nfunction mergeShimOptions(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration === null || configuration === void 0 ? void 0 : configuration.origin;\n const force = options === null || options === void 0 ? void 0 : options.force;\n if (!origin && force === undefined) {\n return undefined;\n }\n return {\n force,\n origin,\n };\n}\nfunction mergeRuntimeConfiguration(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration.origin;\n const domains = new Set(configuration.domains);\n if (origin) {\n try {\n domains.add(new URL(origin).hostname);\n }\n catch (_b) {\n // Ignore invalid override values here and let native APIs validate later.\n }\n }\n return Object.assign(Object.assign({}, configuration), { domains: [...domains], origin });\n}\nasync function loadConfiguration() {\n try {\n const configuration = await NativeCapacitorPasskey.getConfiguration();\n cachedConfiguration = configuration;\n return configuration;\n }\n catch (error) {\n configurationPromise = undefined;\n throw error;\n }\n}\nconst CapacitorPasskey = {\n async autoShimWebAuthn(options) {\n const configuration = await CapacitorPasskey.getConfiguration();\n const effectiveConfiguration = mergeRuntimeConfiguration(configuration, options);\n cachedConfiguration = effectiveConfiguration;\n installWebAuthnShim({\n options: mergeShimOptions(effectiveConfiguration, options),\n plugin: CapacitorPasskey,\n });\n return effectiveConfiguration;\n },\n async createCredential(options) {\n return NativeCapacitorPasskey.createCredential(createNativeRequest(options));\n },\n async getConfiguration() {\n if (!configurationPromise) {\n configurationPromise = loadConfiguration();\n }\n return configurationPromise;\n },\n async getCredential(options) {\n return NativeCapacitorPasskey.getCredential(createNativeRequest(options));\n },\n async getPluginVersion() {\n return NativeCapacitorPasskey.getPluginVersion();\n },\n async isSupported() {\n return NativeCapacitorPasskey.isSupported();\n },\n shimWebAuthn(options) {\n installWebAuthnShim({\n options: mergeShimOptions(cachedConfiguration, options),\n plugin: CapacitorPasskey,\n });\n },\n};\nexport * from './definitions';\nexport { CapacitorPasskey };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { browserAuthenticationToJSON, browserCreationOptionsFromJSON, browserRegistrationToJSON, browserRequestOptionsFromJSON, createPasskeyDomException, } from './webauthn';\nexport class CapacitorPasskeyWeb extends WebPlugin {\n async createCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.create({\n publicKey: browserCreationOptionsFromJSON(parsed),\n });\n return browserRegistrationToJSON(credential);\n }\n async getCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.get({\n publicKey: browserRequestOptionsFromJSON(parsed),\n });\n return browserAuthenticationToJSON(credential);\n }\n async getConfiguration() {\n const origin = this.currentOrigin();\n const domains = origin ? [new URL(origin).hostname] : [];\n return {\n autoShim: true,\n domains,\n origin,\n platform: 'web',\n };\n }\n async isSupported() {\n var _a, _b, _c, _d;\n const available = typeof globalThis.PublicKeyCredential !== 'undefined' &&\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) === 'function' &&\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) === 'function';\n let conditionalMediation = false;\n if (available && typeof globalThis.PublicKeyCredential.isConditionalMediationAvailable === 'function') {\n conditionalMediation = await globalThis.PublicKeyCredential.isConditionalMediationAvailable();\n }\n return {\n available,\n conditionalMediation,\n platform: 'web',\n };\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n ensureCredentials() {\n var _a, _b, _c, _d;\n if (typeof globalThis.PublicKeyCredential === 'undefined' ||\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) !== 'function' ||\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) !== 'function') {\n throw createPasskeyDomException('NotSupportedError', 'WebAuthn is not available in this browser.');\n }\n return globalThis.navigator.credentials;\n }\n currentOrigin() {\n if (typeof globalThis.location === 'undefined') {\n return undefined;\n }\n if (globalThis.location.protocol !== 'http:' && globalThis.location.protocol !== 'https:') {\n return undefined;\n }\n return globalThis.location.origin;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/webauthn.js","esm/shim.js","esm/index.js","esm/web.js"],"sourcesContent":["const PASSKEY_TYPE = 'public-key';\nexport function createNativeRequest(options) {\n if ('mediation' in options) {\n const getOptions = options;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n const createOptions = options;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\nexport function webAuthnCreationOptionsToJSON(options, origin) {\n var _a;\n return normalizeCreationOptionsJSON({\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n }, origin);\n}\nexport function webAuthnRequestOptionsToJSON(options, origin) {\n var _a;\n return normalizeRequestOptionsJSON({\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n }, origin);\n}\nexport function normalizeCreationOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rp.id) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rp.id));\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n return Object.assign(Object.assign({}, options), { excludeCredentials: (_b = options.excludeCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }), rp: Object.assign(Object.assign({}, options.rp), { id: rpId }) });\n}\nexport function normalizeRequestOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rpId) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rpId));\n return Object.assign(Object.assign({}, options), { allowCredentials: (_b = options.allowCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), rpId });\n}\nexport function browserCreationOptionsFromJSON(options) {\n var _a, _b;\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: (_b = options.user.displayName) !== null && _b !== void 0 ? _b : options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\nexport function browserRequestOptionsFromJSON(options) {\n var _a;\n return {\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\nexport async function browserRegistrationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\nexport async function browserAuthenticationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\nexport function credentialFromJSON(credential) {\n const shimCredential = new PasskeyPublicKeyCredential(credential);\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n return shimCredential;\n}\nexport function parseCreationOptionsFromJSON(options) {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\nexport function parseRequestOptionsFromJSON(options) {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\nexport function decodeBase64Url(value) {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\nexport function encodeBase64Url(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n const bytes = toUint8Array(value);\n let binary = '';\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\nexport function resolveOrigin(explicitOrigin, rpId) {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n if (rpId) {\n return `https://${rpId}`;\n }\n return undefined;\n}\nexport function createPasskeyDomException(name, message) {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n const error = new Error(message);\n error.name = name;\n return error;\n}\nexport function abortIfNeeded(signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\nexport function normalizePluginError(error) {\n if (error instanceof Error) {\n return error;\n }\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n return createPasskeyDomException(name, message);\n}\nfunction credentialWithToJSON(credential) {\n const toJSON = credential.toJSON;\n if (typeof toJSON !== 'function') {\n return null;\n }\n const json = toJSON.call(credential);\n if (!json || typeof json !== 'object') {\n return null;\n }\n const response = json.response;\n if (!response) {\n return null;\n }\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json);\n }\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json);\n }\n return null;\n}\nfunction normalizeRegistrationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAttestationResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAuthenticationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAssertionResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAttestationResponse(response) {\n var _a, _b;\n return {\n attestationObject: String((_a = response.attestationObject) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\nfunction normalizeAssertionResponse(response) {\n var _a, _b, _c;\n return {\n authenticatorData: String((_a = response.authenticatorData) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n signature: String((_c = response.signature) !== null && _c !== void 0 ? _c : ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\nfunction expectPublicKeyCredential(credential, flow) {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n return credential;\n}\nfunction descriptorToJSON(descriptor) {\n var _a;\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction jsonDescriptorToBrowser(descriptor) {\n var _a;\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction cloneExtensions(extensions) {\n if (!extensions) {\n return undefined;\n }\n return JSON.parse(JSON.stringify(extensions));\n}\nfunction nullableBufferToBase64Url(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return encodeBase64Url(value);\n}\nfunction nullableBufferToOptionalBase64Url(value) {\n const encoded = nullableBufferToBase64Url(value);\n return encoded !== null && encoded !== void 0 ? encoded : undefined;\n}\nfunction deriveRpId(origin) {\n if (!origin) {\n return undefined;\n }\n try {\n return new URL(origin).hostname;\n }\n catch (_a) {\n return undefined;\n }\n}\nfunction base64UrlToBytes(value) {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n return bytes;\n}\nfunction toUint8Array(value) {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n return new Uint8Array(value);\n}\nfunction normalizeAttachment(value) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n return undefined;\n}\nfunction clientExtensionResultsToRecord(value) {\n if (!value) {\n return {};\n }\n return JSON.parse(JSON.stringify(value));\n}\nexport class PasskeyAuthenticatorAttestationResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n getPublicKey() {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n getPublicKeyAlgorithm() {\n var _a;\n return (_a = this.json.publicKeyAlgorithm) !== null && _a !== void 0 ? _a : -7;\n }\n getTransports() {\n return this.json.transports ? [...this.json.transports] : [];\n }\n getAuthenticatorData() {\n return this.authenticatorData;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyAuthenticatorAssertionResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyPublicKeyCredential {\n constructor(json) {\n var _a;\n this.json = json;\n this.type = PASSKEY_TYPE;\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = (_a = json.authenticatorAttachment) !== null && _a !== void 0 ? _a : null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n getClientExtensionResults() {\n var _a;\n return ((_a = this.json.clientExtensionResults) !== null && _a !== void 0 ? _a : {});\n }\n toJSON() {\n return JSON.parse(JSON.stringify(this.json));\n }\n}\nfunction resolveErrorName(error) {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n return 'UnknownError';\n}\n//# sourceMappingURL=webauthn.js.map","import { abortIfNeeded, createPasskeyDomException, credentialFromJSON, PasskeyPublicKeyCredential, normalizePluginError, parseCreationOptionsFromJSON, parseRequestOptionsFromJSON, webAuthnCreationOptionsToJSON, webAuthnRequestOptionsToJSON, PasskeyAuthenticatorAssertionResponse, PasskeyAuthenticatorAttestationResponse, } from './webauthn';\nexport function installWebAuthnShim({ root = globalThis, plugin, options }) {\n var _a;\n const shimRoot = root;\n const config = Object.assign(Object.assign({}, ((_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {})), (options !== null && options !== void 0 ? options : {}));\n shimRoot.__capgoPasskeyShimConfig = config;\n if (shimRoot.__capgoPasskeyShimInstalled && !config.force) {\n return;\n }\n Object.defineProperty(root.window, 'PublicKeyCredential', {\n configurable: true,\n writable: true,\n value: PasskeyPublicKeyCredential,\n });\n Object.defineProperty(root.window, 'AuthenticatorAttestationResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAttestationResponse,\n });\n Object.defineProperty(root.window, 'AuthenticatorAssertionResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAssertionResponse,\n });\n const originalCredentials = shimRoot.navigator.credentials;\n const patchedCredentials = {\n create: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.create) {\n return originalCredentials.create.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential creation is supported.');\n }\n abortIfNeeded(request.signal);\n const response = (await plugin.createCredential({\n origin: currentConfig.origin,\n publicKey: webAuthnCreationOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n get: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.get) {\n return originalCredentials.get.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential requests are supported.');\n }\n abortIfNeeded(request.signal);\n if (request.mediation === 'conditional') {\n throw createPasskeyDomException('NotSupportedError', 'Conditional mediation is not available through the Capacitor passkey shim.');\n }\n const response = (await plugin.getCredential({\n mediation: request.mediation,\n origin: currentConfig.origin,\n publicKey: webAuthnRequestOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n preventSilentAccess: async () => {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.preventSilentAccess) {\n await originalCredentials.preventSilentAccess.call(originalCredentials);\n }\n },\n store: async (credential) => {\n if ((originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.store) && credential) {\n await originalCredentials.store.call(originalCredentials, credential);\n }\n },\n };\n try {\n Object.defineProperty(shimRoot.navigator, 'credentials', {\n configurable: true,\n value: patchedCredentials,\n writable: false,\n });\n }\n catch (_b) {\n shimRoot.navigator.credentials = patchedCredentials;\n }\n installPublicKeyCredentialStatics(shimRoot, plugin);\n shimRoot.__capgoPasskeyShimInstalled = true;\n}\nfunction installPublicKeyCredentialStatics(root, plugin) {\n var _a;\n const nativePublicKeyCredential = (_a = root.PublicKeyCredential) !== null && _a !== void 0 ? _a : class {\n };\n const supportRequest = async () => {\n try {\n return await plugin.isSupported();\n }\n catch (error) {\n throw normalizePluginError(error);\n }\n };\n defineStatic(nativePublicKeyCredential, 'isUserVerifyingPlatformAuthenticatorAvailable', async () => {\n const support = await supportRequest();\n return support.available;\n });\n defineStatic(nativePublicKeyCredential, 'isConditionalMediationAvailable', async () => {\n const support = await supportRequest();\n return support.conditionalMediation;\n });\n defineStatic(nativePublicKeyCredential, 'parseCreationOptionsFromJSON', parseCreationOptionsFromJSON);\n defineStatic(nativePublicKeyCredential, 'parseRequestOptionsFromJSON', parseRequestOptionsFromJSON);\n root.PublicKeyCredential = nativePublicKeyCredential;\n}\nfunction defineStatic(target, key, value) {\n try {\n Object.defineProperty(target, key, {\n configurable: true,\n value,\n writable: true,\n });\n }\n catch (_a) {\n Reflect.set(target, key, value);\n }\n}\n//# sourceMappingURL=shim.js.map","import { registerPlugin } from '@capacitor/core';\nimport { installWebAuthnShim } from './shim';\nimport { createNativeRequest } from './webauthn';\nconst NativeCapacitorPasskey = registerPlugin('CapacitorPasskey', {\n web: () => import('./web').then((module) => new module.CapacitorPasskeyWeb()),\n});\nlet configurationPromise;\nlet cachedConfiguration;\nfunction mergeShimOptions(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration === null || configuration === void 0 ? void 0 : configuration.origin;\n const force = options === null || options === void 0 ? void 0 : options.force;\n if (!origin && force === undefined) {\n return undefined;\n }\n return {\n force,\n origin,\n };\n}\nfunction mergeRuntimeConfiguration(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration.origin;\n const domains = new Set(configuration.domains);\n if (origin) {\n try {\n domains.add(new URL(origin).hostname);\n }\n catch (_b) {\n // Ignore invalid override values here and let native APIs validate later.\n }\n }\n return Object.assign(Object.assign({}, configuration), { domains: [...domains], origin });\n}\nasync function loadConfiguration() {\n try {\n const configuration = await NativeCapacitorPasskey.getConfiguration();\n cachedConfiguration = configuration;\n return configuration;\n }\n catch (error) {\n configurationPromise = undefined;\n throw error;\n }\n}\nconst CapacitorPasskey = {\n async autoShimWebAuthn(options) {\n const configuration = await CapacitorPasskey.getConfiguration();\n const effectiveConfiguration = mergeRuntimeConfiguration(configuration, options);\n cachedConfiguration = effectiveConfiguration;\n installWebAuthnShim({\n options: mergeShimOptions(effectiveConfiguration, options),\n plugin: CapacitorPasskey,\n });\n return effectiveConfiguration;\n },\n async createCredential(options) {\n return NativeCapacitorPasskey.createCredential(createNativeRequest(options));\n },\n async getConfiguration() {\n if (!configurationPromise) {\n configurationPromise = loadConfiguration();\n }\n return configurationPromise;\n },\n async getCredential(options) {\n return NativeCapacitorPasskey.getCredential(createNativeRequest(options));\n },\n async getPluginVersion() {\n return NativeCapacitorPasskey.getPluginVersion();\n },\n async isSupported() {\n return NativeCapacitorPasskey.isSupported();\n },\n shimWebAuthn(options) {\n installWebAuthnShim({\n options: mergeShimOptions(cachedConfiguration, options),\n plugin: CapacitorPasskey,\n });\n },\n};\nexport * from './definitions';\nexport { CapacitorPasskey };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { browserAuthenticationToJSON, browserCreationOptionsFromJSON, browserRegistrationToJSON, browserRequestOptionsFromJSON, createPasskeyDomException, } from './webauthn';\nexport class CapacitorPasskeyWeb extends WebPlugin {\n async createCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.create({\n publicKey: browserCreationOptionsFromJSON(parsed),\n });\n return browserRegistrationToJSON(credential);\n }\n async getCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.get({\n publicKey: browserRequestOptionsFromJSON(parsed),\n });\n return browserAuthenticationToJSON(credential);\n }\n async getConfiguration() {\n const origin = this.currentOrigin();\n const domains = origin ? [new URL(origin).hostname] : [];\n return {\n autoShim: true,\n domains,\n origin,\n platform: 'web',\n };\n }\n async isSupported() {\n var _a, _b, _c, _d;\n const available = typeof globalThis.PublicKeyCredential !== 'undefined' &&\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) === 'function' &&\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) === 'function';\n let conditionalMediation = false;\n if (available && typeof globalThis.PublicKeyCredential.isConditionalMediationAvailable === 'function') {\n conditionalMediation = await globalThis.PublicKeyCredential.isConditionalMediationAvailable();\n }\n return {\n available,\n conditionalMediation,\n platform: 'web',\n };\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n ensureCredentials() {\n var _a, _b, _c, _d;\n if (typeof globalThis.PublicKeyCredential === 'undefined' ||\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) !== 'function' ||\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) !== 'function') {\n throw createPasskeyDomException('NotSupportedError', 'WebAuthn is not available in this browser.');\n }\n return globalThis.navigator.credentials;\n }\n currentOrigin() {\n if (typeof globalThis.location === 'undefined') {\n return undefined;\n }\n if (globalThis.location.protocol !== 'http:' && globalThis.location.protocol !== 'https:') {\n return undefined;\n }\n return globalThis.location.origin;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/webauthn.js","esm/shim.js","esm/index.js","esm/web.js"],"sourcesContent":["const PASSKEY_TYPE = 'public-key';\nexport function createNativeRequest(options) {\n if ('mediation' in options) {\n const getOptions = options;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n const createOptions = options;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\nexport function webAuthnCreationOptionsToJSON(options, origin) {\n var _a;\n return normalizeCreationOptionsJSON({\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n }, origin);\n}\nexport function webAuthnRequestOptionsToJSON(options, origin) {\n var _a;\n return normalizeRequestOptionsJSON({\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n }, origin);\n}\nexport function normalizeCreationOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rp.id) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rp.id));\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n return Object.assign(Object.assign({}, options), { excludeCredentials: (_b = options.excludeCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }), rp: Object.assign(Object.assign({}, options.rp), { id: rpId }) });\n}\nexport function normalizeRequestOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rpId) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rpId));\n return Object.assign(Object.assign({}, options), { allowCredentials: (_b = options.allowCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), rpId });\n}\nexport function browserCreationOptionsFromJSON(options) {\n var _a, _b;\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: (_b = options.user.displayName) !== null && _b !== void 0 ? _b : options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\nexport function browserRequestOptionsFromJSON(options) {\n var _a;\n return {\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\nexport async function browserRegistrationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\nexport async function browserAuthenticationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\nexport function credentialFromJSON(credential) {\n const shimCredential = new PasskeyPublicKeyCredential(credential);\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n return shimCredential;\n}\nexport function parseCreationOptionsFromJSON(options) {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\nexport function parseRequestOptionsFromJSON(options) {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\nexport function decodeBase64Url(value) {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\nexport function encodeBase64Url(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n const bytes = toUint8Array(value);\n let binary = '';\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\nexport function resolveOrigin(explicitOrigin, rpId) {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n if (rpId) {\n return `https://${rpId}`;\n }\n return undefined;\n}\nexport function createPasskeyDomException(name, message) {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n const error = new Error(message);\n error.name = name;\n return error;\n}\nexport function abortIfNeeded(signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\nexport function normalizePluginError(error) {\n if (error instanceof Error) {\n return error;\n }\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n return createPasskeyDomException(name, message);\n}\nfunction credentialWithToJSON(credential) {\n const toJSON = credential.toJSON;\n if (typeof toJSON !== 'function') {\n return null;\n }\n const json = toJSON();\n if (!json || typeof json !== 'object') {\n return null;\n }\n const response = json.response;\n if (!response) {\n return null;\n }\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json);\n }\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json);\n }\n return null;\n}\nfunction normalizeRegistrationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAttestationResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAuthenticationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAssertionResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAttestationResponse(response) {\n var _a, _b;\n return {\n attestationObject: String((_a = response.attestationObject) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\nfunction normalizeAssertionResponse(response) {\n var _a, _b, _c;\n return {\n authenticatorData: String((_a = response.authenticatorData) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n signature: String((_c = response.signature) !== null && _c !== void 0 ? _c : ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\nfunction expectPublicKeyCredential(credential, flow) {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n return credential;\n}\nfunction descriptorToJSON(descriptor) {\n var _a;\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction jsonDescriptorToBrowser(descriptor) {\n var _a;\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction cloneExtensions(extensions) {\n if (!extensions) {\n return undefined;\n }\n return JSON.parse(JSON.stringify(extensions));\n}\nfunction nullableBufferToBase64Url(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return encodeBase64Url(value);\n}\nfunction nullableBufferToOptionalBase64Url(value) {\n const encoded = nullableBufferToBase64Url(value);\n return encoded !== null && encoded !== void 0 ? encoded : undefined;\n}\nfunction deriveRpId(origin) {\n if (!origin) {\n return undefined;\n }\n try {\n return new URL(origin).hostname;\n }\n catch (_a) {\n return undefined;\n }\n}\nfunction base64UrlToBytes(value) {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n return bytes;\n}\nfunction toUint8Array(value) {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n return new Uint8Array(value);\n}\nfunction normalizeAttachment(value) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n return undefined;\n}\nfunction clientExtensionResultsToRecord(value) {\n if (!value) {\n return {};\n }\n return JSON.parse(JSON.stringify(value));\n}\nexport class PasskeyAuthenticatorAttestationResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n getPublicKey() {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n getPublicKeyAlgorithm() {\n var _a;\n return (_a = this.json.publicKeyAlgorithm) !== null && _a !== void 0 ? _a : -7;\n }\n getTransports() {\n return this.json.transports ? [...this.json.transports] : [];\n }\n getAuthenticatorData() {\n return this.authenticatorData;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyAuthenticatorAssertionResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyPublicKeyCredential {\n constructor(json) {\n var _a;\n this.json = json;\n this.type = PASSKEY_TYPE;\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = (_a = json.authenticatorAttachment) !== null && _a !== void 0 ? _a : null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n getClientExtensionResults() {\n var _a;\n return ((_a = this.json.clientExtensionResults) !== null && _a !== void 0 ? _a : {});\n }\n toJSON() {\n return JSON.parse(JSON.stringify(this.json));\n }\n}\nfunction resolveErrorName(error) {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n return 'UnknownError';\n}\n//# sourceMappingURL=webauthn.js.map","import { abortIfNeeded, createPasskeyDomException, credentialFromJSON, PasskeyPublicKeyCredential, normalizePluginError, parseCreationOptionsFromJSON, parseRequestOptionsFromJSON, webAuthnCreationOptionsToJSON, webAuthnRequestOptionsToJSON, PasskeyAuthenticatorAssertionResponse, PasskeyAuthenticatorAttestationResponse, } from './webauthn';\nexport function installWebAuthnShim({ root = globalThis, plugin, options }) {\n var _a;\n const shimRoot = root;\n const config = Object.assign(Object.assign({}, ((_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {})), (options !== null && options !== void 0 ? options : {}));\n shimRoot.__capgoPasskeyShimConfig = config;\n if (shimRoot.__capgoPasskeyShimInstalled && !config.force) {\n return;\n }\n Object.defineProperty(root.window, 'PublicKeyCredential', {\n configurable: true,\n writable: true,\n value: PasskeyPublicKeyCredential,\n });\n Object.defineProperty(root.window, 'AuthenticatorAttestationResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAttestationResponse,\n });\n Object.defineProperty(root.window, 'AuthenticatorAssertionResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAssertionResponse,\n });\n const originalCredentials = shimRoot.navigator.credentials;\n const patchedCredentials = {\n create: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.create) {\n return originalCredentials.create.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential creation is supported.');\n }\n abortIfNeeded(request.signal);\n const response = (await plugin.createCredential({\n origin: currentConfig.origin,\n publicKey: webAuthnCreationOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n get: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.get) {\n return originalCredentials.get.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential requests are supported.');\n }\n abortIfNeeded(request.signal);\n if (request.mediation === 'conditional') {\n throw createPasskeyDomException('NotSupportedError', 'Conditional mediation is not available through the Capacitor passkey shim.');\n }\n const response = (await plugin.getCredential({\n mediation: request.mediation,\n origin: currentConfig.origin,\n publicKey: webAuthnRequestOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n preventSilentAccess: async () => {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.preventSilentAccess) {\n await originalCredentials.preventSilentAccess.call(originalCredentials);\n }\n },\n store: async (credential) => {\n if ((originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.store) && credential) {\n await originalCredentials.store.call(originalCredentials, credential);\n }\n },\n };\n try {\n Object.defineProperty(shimRoot.navigator, 'credentials', {\n configurable: true,\n value: patchedCredentials,\n writable: false,\n });\n }\n catch (_b) {\n shimRoot.navigator.credentials = patchedCredentials;\n }\n installPublicKeyCredentialStatics(shimRoot, plugin);\n shimRoot.__capgoPasskeyShimInstalled = true;\n}\nfunction installPublicKeyCredentialStatics(root, plugin) {\n var _a;\n const nativePublicKeyCredential = (_a = root.PublicKeyCredential) !== null && _a !== void 0 ? _a : class {\n };\n const supportRequest = async () => {\n try {\n return await plugin.isSupported();\n }\n catch (error) {\n throw normalizePluginError(error);\n }\n };\n defineStatic(nativePublicKeyCredential, 'isUserVerifyingPlatformAuthenticatorAvailable', async () => {\n const support = await supportRequest();\n return support.available;\n });\n defineStatic(nativePublicKeyCredential, 'isConditionalMediationAvailable', async () => {\n const support = await supportRequest();\n return support.conditionalMediation;\n });\n defineStatic(nativePublicKeyCredential, 'parseCreationOptionsFromJSON', parseCreationOptionsFromJSON);\n defineStatic(nativePublicKeyCredential, 'parseRequestOptionsFromJSON', parseRequestOptionsFromJSON);\n root.PublicKeyCredential = nativePublicKeyCredential;\n}\nfunction defineStatic(target, key, value) {\n try {\n Object.defineProperty(target, key, {\n configurable: true,\n value,\n writable: true,\n });\n }\n catch (_a) {\n Reflect.set(target, key, value);\n }\n}\n//# sourceMappingURL=shim.js.map","import { registerPlugin } from '@capacitor/core';\nimport { installWebAuthnShim } from './shim';\nimport { createNativeRequest } from './webauthn';\nconst NativeCapacitorPasskey = registerPlugin('CapacitorPasskey', {\n web: () => import('./web').then((module) => new module.CapacitorPasskeyWeb()),\n});\nlet configurationPromise;\nlet cachedConfiguration;\nfunction mergeShimOptions(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration === null || configuration === void 0 ? void 0 : configuration.origin;\n const force = options === null || options === void 0 ? void 0 : options.force;\n if (!origin && force === undefined) {\n return undefined;\n }\n return {\n force,\n origin,\n };\n}\nfunction mergeRuntimeConfiguration(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration.origin;\n const domains = new Set(configuration.domains);\n if (origin) {\n try {\n domains.add(new URL(origin).hostname);\n }\n catch (_b) {\n // Ignore invalid override values here and let native APIs validate later.\n }\n }\n return Object.assign(Object.assign({}, configuration), { domains: [...domains], origin });\n}\nasync function loadConfiguration() {\n try {\n const configuration = await NativeCapacitorPasskey.getConfiguration();\n cachedConfiguration = configuration;\n return configuration;\n }\n catch (error) {\n configurationPromise = undefined;\n throw error;\n }\n}\nconst CapacitorPasskey = {\n async autoShimWebAuthn(options) {\n const configuration = await CapacitorPasskey.getConfiguration();\n const effectiveConfiguration = mergeRuntimeConfiguration(configuration, options);\n cachedConfiguration = effectiveConfiguration;\n installWebAuthnShim({\n options: mergeShimOptions(effectiveConfiguration, options),\n plugin: CapacitorPasskey,\n });\n return effectiveConfiguration;\n },\n async createCredential(options) {\n return NativeCapacitorPasskey.createCredential(createNativeRequest(options));\n },\n async getConfiguration() {\n if (!configurationPromise) {\n configurationPromise = loadConfiguration();\n }\n return configurationPromise;\n },\n async getCredential(options) {\n return NativeCapacitorPasskey.getCredential(createNativeRequest(options));\n },\n async getPluginVersion() {\n return NativeCapacitorPasskey.getPluginVersion();\n },\n async isSupported() {\n return NativeCapacitorPasskey.isSupported();\n },\n shimWebAuthn(options) {\n installWebAuthnShim({\n options: mergeShimOptions(cachedConfiguration, options),\n plugin: CapacitorPasskey,\n });\n },\n};\nexport * from './definitions';\nexport { CapacitorPasskey };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { browserAuthenticationToJSON, browserCreationOptionsFromJSON, browserRegistrationToJSON, browserRequestOptionsFromJSON, createPasskeyDomException, } from './webauthn';\nexport class CapacitorPasskeyWeb extends WebPlugin {\n async createCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.create({\n publicKey: browserCreationOptionsFromJSON(parsed),\n });\n return browserRegistrationToJSON(credential);\n }\n async getCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.get({\n publicKey: browserRequestOptionsFromJSON(parsed),\n });\n return browserAuthenticationToJSON(credential);\n }\n async getConfiguration() {\n const origin = this.currentOrigin();\n const domains = origin ? [new URL(origin).hostname] : [];\n return {\n autoShim: true,\n domains,\n origin,\n platform: 'web',\n };\n }\n async isSupported() {\n var _a, _b, _c, _d;\n const available = typeof globalThis.PublicKeyCredential !== 'undefined' &&\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) === 'function' &&\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) === 'function';\n let conditionalMediation = false;\n if (available && typeof globalThis.PublicKeyCredential.isConditionalMediationAvailable === 'function') {\n conditionalMediation = await globalThis.PublicKeyCredential.isConditionalMediationAvailable();\n }\n return {\n available,\n conditionalMediation,\n platform: 'web',\n };\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n ensureCredentials() {\n var _a, _b, _c, _d;\n if (typeof globalThis.PublicKeyCredential === 'undefined' ||\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) !== 'function' ||\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) !== 'function') {\n throw createPasskeyDomException('NotSupportedError', 'WebAuthn is not available in this browser.');\n }\n return globalThis.navigator.credentials;\n }\n currentOrigin() {\n if (typeof globalThis.location === 'undefined') {\n return undefined;\n }\n if (globalThis.location.protocol !== 'http:' && globalThis.location.protocol !== 'https:') {\n return undefined;\n }\n return globalThis.location.origin;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/webauthn.js","esm/shim.js","esm/index.js","esm/web.js"],"sourcesContent":["const PASSKEY_TYPE = 'public-key';\nexport function createNativeRequest(options) {\n if ('mediation' in options) {\n const getOptions = options;\n return {\n origin: resolveOrigin(getOptions.origin, getOptions.publicKey.rpId),\n requestJson: JSON.stringify(normalizeRequestOptionsJSON(getOptions.publicKey, getOptions.origin)),\n };\n }\n const createOptions = options;\n return {\n origin: resolveOrigin(createOptions.origin, createOptions.publicKey.rp.id),\n requestJson: JSON.stringify(normalizeCreationOptionsJSON(createOptions.publicKey, createOptions.origin)),\n };\n}\nexport function webAuthnCreationOptionsToJSON(options, origin) {\n var _a;\n return normalizeCreationOptionsJSON({\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: encodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => ({\n alg: entry.alg,\n type: entry.type,\n })),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: options.user.displayName,\n id: encodeBase64Url(options.user.id),\n name: options.user.name,\n },\n }, origin);\n}\nexport function webAuthnRequestOptionsToJSON(options, origin) {\n var _a;\n return normalizeRequestOptionsJSON({\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(descriptorToJSON),\n challenge: encodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n }, origin);\n}\nexport function normalizeCreationOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rp.id) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rp.id));\n if (!rpId) {\n throw createPasskeyDomException('DataError', 'A relying party id or HTTPS origin is required.');\n }\n return Object.assign(Object.assign({}, options), { excludeCredentials: (_b = options.excludeCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }), rp: Object.assign(Object.assign({}, options.rp), { id: rpId }) });\n}\nexport function normalizeRequestOptionsJSON(options, origin) {\n var _a, _b;\n const rpId = (_a = options.rpId) !== null && _a !== void 0 ? _a : deriveRpId(resolveOrigin(origin, options.rpId));\n return Object.assign(Object.assign({}, options), { allowCredentials: (_b = options.allowCredentials) === null || _b === void 0 ? void 0 : _b.map(descriptorToJSON), rpId });\n}\nexport function browserCreationOptionsFromJSON(options) {\n var _a, _b;\n return {\n attestation: options.attestation,\n authenticatorSelection: options.authenticatorSelection\n ? {\n authenticatorAttachment: options.authenticatorSelection.authenticatorAttachment,\n requireResidentKey: options.authenticatorSelection.requireResidentKey,\n residentKey: options.authenticatorSelection.residentKey,\n userVerification: options.authenticatorSelection.userVerification,\n }\n : undefined,\n challenge: decodeBase64Url(options.challenge),\n excludeCredentials: (_a = options.excludeCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n extensions: cloneExtensions(options.extensions),\n pubKeyCredParams: options.pubKeyCredParams.map((entry) => {\n var _a;\n return ({\n alg: entry.alg,\n type: (_a = entry.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n });\n }),\n rp: {\n id: options.rp.id,\n name: options.rp.name,\n },\n timeout: options.timeout,\n user: {\n displayName: (_b = options.user.displayName) !== null && _b !== void 0 ? _b : options.user.name,\n id: decodeBase64Url(options.user.id),\n name: options.user.name,\n },\n };\n}\nexport function browserRequestOptionsFromJSON(options) {\n var _a;\n return {\n allowCredentials: (_a = options.allowCredentials) === null || _a === void 0 ? void 0 : _a.map(jsonDescriptorToBrowser),\n challenge: decodeBase64Url(options.challenge),\n extensions: cloneExtensions(options.extensions),\n rpId: options.rpId,\n timeout: options.timeout,\n userVerification: options.userVerification,\n };\n}\nexport async function browserRegistrationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'registration');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'attestationObject' in nativeJson.response) {\n return normalizeRegistrationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n attestationObject: encodeBase64Url(response.attestationObject),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n publicKey: response.getPublicKey ? nullableBufferToOptionalBase64Url(response.getPublicKey()) : undefined,\n publicKeyAlgorithm: response.getPublicKeyAlgorithm ? response.getPublicKeyAlgorithm() : undefined,\n transports: response.getTransports ? response.getTransports() : undefined,\n },\n type: PASSKEY_TYPE,\n };\n}\nexport async function browserAuthenticationToJSON(credential) {\n var _a;\n const publicKeyCredential = expectPublicKeyCredential(credential, 'authentication');\n const response = publicKeyCredential.response;\n const nativeJson = credentialWithToJSON(publicKeyCredential);\n if (nativeJson && 'authenticatorData' in nativeJson.response) {\n return normalizeAuthenticationCredential(nativeJson);\n }\n return {\n authenticatorAttachment: normalizeAttachment(publicKeyCredential.authenticatorAttachment),\n clientExtensionResults: clientExtensionResultsToRecord((_a = publicKeyCredential.getClientExtensionResults) === null || _a === void 0 ? void 0 : _a.call(publicKeyCredential)),\n id: publicKeyCredential.id,\n rawId: encodeBase64Url(publicKeyCredential.rawId),\n response: {\n authenticatorData: encodeBase64Url(response.authenticatorData),\n clientDataJSON: encodeBase64Url(response.clientDataJSON),\n signature: encodeBase64Url(response.signature),\n userHandle: nullableBufferToBase64Url(response.userHandle),\n },\n type: PASSKEY_TYPE,\n };\n}\nexport function credentialFromJSON(credential) {\n const shimCredential = new PasskeyPublicKeyCredential(credential);\n if (typeof globalThis.PublicKeyCredential === 'function') {\n Object.setPrototypeOf(shimCredential, globalThis.PublicKeyCredential.prototype);\n }\n return shimCredential;\n}\nexport function parseCreationOptionsFromJSON(options) {\n return browserCreationOptionsFromJSON(normalizeCreationOptionsJSON(options));\n}\nexport function parseRequestOptionsFromJSON(options) {\n return browserRequestOptionsFromJSON(normalizeRequestOptionsJSON(options));\n}\nexport function decodeBase64Url(value) {\n const bytes = base64UrlToBytes(value);\n return bytes.slice().buffer;\n}\nexport function encodeBase64Url(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n const bytes = toUint8Array(value);\n let binary = '';\n bytes.forEach((byte) => {\n binary += String.fromCharCode(byte);\n });\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/u, '');\n}\nexport function resolveOrigin(explicitOrigin, rpId) {\n if (explicitOrigin) {\n return explicitOrigin;\n }\n if (typeof globalThis.location !== 'undefined' && /^https?:$/u.test(globalThis.location.protocol)) {\n return globalThis.location.origin;\n }\n if (rpId) {\n return `https://${rpId}`;\n }\n return undefined;\n}\nexport function createPasskeyDomException(name, message) {\n if (typeof DOMException !== 'undefined') {\n return new DOMException(message, name);\n }\n const error = new Error(message);\n error.name = name;\n return error;\n}\nexport function abortIfNeeded(signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n throw createPasskeyDomException('AbortError', 'The passkey request was aborted.');\n }\n}\nexport function normalizePluginError(error) {\n if (error instanceof Error) {\n return error;\n }\n const message = typeof error === 'object' && error && 'message' in error ? String(error.message) : String(error);\n const name = resolveErrorName(error);\n return createPasskeyDomException(name, message);\n}\nfunction credentialWithToJSON(credential) {\n const toJSON = credential.toJSON;\n if (typeof toJSON !== 'function') {\n return null;\n }\n const json = toJSON.call(credential);\n if (!json || typeof json !== 'object') {\n return null;\n }\n const response = json.response;\n if (!response) {\n return null;\n }\n if ('attestationObject' in response) {\n return normalizeRegistrationCredential(json);\n }\n if ('authenticatorData' in response) {\n return normalizeAuthenticationCredential(json);\n }\n return null;\n}\nfunction normalizeRegistrationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAttestationResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAuthenticationCredential(credential) {\n var _a, _b, _c, _d, _e;\n return {\n authenticatorAttachment: normalizeAttachment(credential.authenticatorAttachment),\n clientExtensionResults: (_a = credential.clientExtensionResults) !== null && _a !== void 0 ? _a : {},\n id: String((_b = credential.id) !== null && _b !== void 0 ? _b : ''),\n rawId: String((_d = (_c = credential.rawId) !== null && _c !== void 0 ? _c : credential.id) !== null && _d !== void 0 ? _d : ''),\n response: normalizeAssertionResponse((_e = credential.response) !== null && _e !== void 0 ? _e : {}),\n type: PASSKEY_TYPE,\n };\n}\nfunction normalizeAttestationResponse(response) {\n var _a, _b;\n return {\n attestationObject: String((_a = response.attestationObject) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n publicKey: response.publicKey,\n publicKeyAlgorithm: response.publicKeyAlgorithm,\n transports: response.transports,\n };\n}\nfunction normalizeAssertionResponse(response) {\n var _a, _b, _c;\n return {\n authenticatorData: String((_a = response.authenticatorData) !== null && _a !== void 0 ? _a : ''),\n clientDataJSON: String((_b = response.clientDataJSON) !== null && _b !== void 0 ? _b : ''),\n signature: String((_c = response.signature) !== null && _c !== void 0 ? _c : ''),\n userHandle: typeof response.userHandle === 'undefined' ? null : response.userHandle,\n };\n}\nfunction expectPublicKeyCredential(credential, flow) {\n if (!credential || !(credential instanceof PublicKeyCredential)) {\n throw createPasskeyDomException('InvalidStateError', `The browser did not return a ${flow} credential.`);\n }\n return credential;\n}\nfunction descriptorToJSON(descriptor) {\n var _a;\n return {\n id: typeof descriptor.id === 'string' ? descriptor.id : encodeBase64Url(descriptor.id),\n transports: descriptor.transports ? [...descriptor.transports] : undefined,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction jsonDescriptorToBrowser(descriptor) {\n var _a;\n return {\n id: decodeBase64Url(descriptor.id),\n transports: descriptor.transports,\n type: (_a = descriptor.type) !== null && _a !== void 0 ? _a : PASSKEY_TYPE,\n };\n}\nfunction cloneExtensions(extensions) {\n if (!extensions) {\n return undefined;\n }\n return JSON.parse(JSON.stringify(extensions));\n}\nfunction nullableBufferToBase64Url(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return encodeBase64Url(value);\n}\nfunction nullableBufferToOptionalBase64Url(value) {\n const encoded = nullableBufferToBase64Url(value);\n return encoded !== null && encoded !== void 0 ? encoded : undefined;\n}\nfunction deriveRpId(origin) {\n if (!origin) {\n return undefined;\n }\n try {\n return new URL(origin).hostname;\n }\n catch (_a) {\n return undefined;\n }\n}\nfunction base64UrlToBytes(value) {\n const normalized = value.replace(/-/g, '+').replace(/_/g, '/');\n const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));\n const binary = atob(`${normalized}${padding}`);\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n return bytes;\n}\nfunction toUint8Array(value) {\n if (Array.isArray(value)) {\n return Uint8Array.from(value);\n }\n if (ArrayBuffer.isView(value)) {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n return new Uint8Array(value);\n}\nfunction normalizeAttachment(value) {\n if (value === 'platform' || value === 'cross-platform') {\n return value;\n }\n return undefined;\n}\nfunction clientExtensionResultsToRecord(value) {\n if (!value) {\n return {};\n }\n return JSON.parse(JSON.stringify(value));\n}\nexport class PasskeyAuthenticatorAttestationResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.attestationObject = decodeBase64Url(json.attestationObject);\n this.authenticatorData = json.authenticatorData ? decodeBase64Url(json.authenticatorData) : new ArrayBuffer(0);\n }\n getPublicKey() {\n return this.json.publicKey ? decodeBase64Url(this.json.publicKey) : null;\n }\n getPublicKeyAlgorithm() {\n var _a;\n return (_a = this.json.publicKeyAlgorithm) !== null && _a !== void 0 ? _a : -7;\n }\n getTransports() {\n return this.json.transports ? [...this.json.transports] : [];\n }\n getAuthenticatorData() {\n return this.authenticatorData;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyAuthenticatorAssertionResponse {\n constructor(json) {\n this.json = json;\n this.clientDataJSON = decodeBase64Url(json.clientDataJSON);\n this.authenticatorData = decodeBase64Url(json.authenticatorData);\n this.signature = decodeBase64Url(json.signature);\n this.userHandle = json.userHandle ? decodeBase64Url(json.userHandle) : null;\n }\n toJSON() {\n return Object.assign({}, this.json);\n }\n}\nexport class PasskeyPublicKeyCredential {\n constructor(json) {\n var _a;\n this.json = json;\n this.type = PASSKEY_TYPE;\n this.id = json.id;\n this.rawId = decodeBase64Url(json.rawId);\n this.authenticatorAttachment = (_a = json.authenticatorAttachment) !== null && _a !== void 0 ? _a : null;\n this.response =\n 'attestationObject' in json.response\n ? new PasskeyAuthenticatorAttestationResponse(json.response)\n : new PasskeyAuthenticatorAssertionResponse(json.response);\n }\n getClientExtensionResults() {\n var _a;\n return ((_a = this.json.clientExtensionResults) !== null && _a !== void 0 ? _a : {});\n }\n toJSON() {\n return JSON.parse(JSON.stringify(this.json));\n }\n}\nfunction resolveErrorName(error) {\n if (typeof error === 'object' && error) {\n if ('code' in error && typeof error.code === 'string') {\n return error.code;\n }\n if ('data' in error && error.data && typeof error.data === 'object' && 'name' in error.data) {\n const candidate = error.data.name;\n if (typeof candidate === 'string') {\n return candidate;\n }\n }\n }\n return 'UnknownError';\n}\n//# sourceMappingURL=webauthn.js.map","import { abortIfNeeded, createPasskeyDomException, credentialFromJSON, PasskeyPublicKeyCredential, normalizePluginError, parseCreationOptionsFromJSON, parseRequestOptionsFromJSON, webAuthnCreationOptionsToJSON, webAuthnRequestOptionsToJSON, PasskeyAuthenticatorAssertionResponse, PasskeyAuthenticatorAttestationResponse, } from './webauthn';\nexport function installWebAuthnShim({ root = globalThis, plugin, options }) {\n var _a;\n const shimRoot = root;\n const config = Object.assign(Object.assign({}, ((_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {})), (options !== null && options !== void 0 ? options : {}));\n shimRoot.__capgoPasskeyShimConfig = config;\n if (shimRoot.__capgoPasskeyShimInstalled && !config.force) {\n return;\n }\n Object.defineProperty(root.window, 'PublicKeyCredential', {\n configurable: true,\n writable: true,\n value: PasskeyPublicKeyCredential,\n });\n Object.defineProperty(root.window, 'AuthenticatorAttestationResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAttestationResponse,\n });\n Object.defineProperty(root.window, 'AuthenticatorAssertionResponse', {\n configurable: true,\n writable: true,\n value: PasskeyAuthenticatorAssertionResponse,\n });\n const originalCredentials = shimRoot.navigator.credentials;\n const patchedCredentials = {\n create: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.create) {\n return originalCredentials.create.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential creation is supported.');\n }\n abortIfNeeded(request.signal);\n const response = (await plugin.createCredential({\n origin: currentConfig.origin,\n publicKey: webAuthnCreationOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n get: async (request) => {\n var _a;\n const currentConfig = (_a = shimRoot.__capgoPasskeyShimConfig) !== null && _a !== void 0 ? _a : {};\n if (!(request === null || request === void 0 ? void 0 : request.publicKey)) {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.get) {\n return originalCredentials.get.call(originalCredentials, request);\n }\n throw createPasskeyDomException('NotSupportedError', 'Only public-key credential requests are supported.');\n }\n abortIfNeeded(request.signal);\n if (request.mediation === 'conditional') {\n throw createPasskeyDomException('NotSupportedError', 'Conditional mediation is not available through the Capacitor passkey shim.');\n }\n const response = (await plugin.getCredential({\n mediation: request.mediation,\n origin: currentConfig.origin,\n publicKey: webAuthnRequestOptionsToJSON(request.publicKey, currentConfig.origin),\n }));\n return credentialFromJSON(response);\n },\n preventSilentAccess: async () => {\n if (originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.preventSilentAccess) {\n await originalCredentials.preventSilentAccess.call(originalCredentials);\n }\n },\n store: async (credential) => {\n if ((originalCredentials === null || originalCredentials === void 0 ? void 0 : originalCredentials.store) && credential) {\n await originalCredentials.store.call(originalCredentials, credential);\n }\n },\n };\n try {\n Object.defineProperty(shimRoot.navigator, 'credentials', {\n configurable: true,\n value: patchedCredentials,\n writable: false,\n });\n }\n catch (_b) {\n shimRoot.navigator.credentials = patchedCredentials;\n }\n installPublicKeyCredentialStatics(shimRoot, plugin);\n shimRoot.__capgoPasskeyShimInstalled = true;\n}\nfunction installPublicKeyCredentialStatics(root, plugin) {\n var _a;\n const nativePublicKeyCredential = (_a = root.PublicKeyCredential) !== null && _a !== void 0 ? _a : class {\n };\n const supportRequest = async () => {\n try {\n return await plugin.isSupported();\n }\n catch (error) {\n throw normalizePluginError(error);\n }\n };\n defineStatic(nativePublicKeyCredential, 'isUserVerifyingPlatformAuthenticatorAvailable', async () => {\n const support = await supportRequest();\n return support.available;\n });\n defineStatic(nativePublicKeyCredential, 'isConditionalMediationAvailable', async () => {\n const support = await supportRequest();\n return support.conditionalMediation;\n });\n defineStatic(nativePublicKeyCredential, 'parseCreationOptionsFromJSON', parseCreationOptionsFromJSON);\n defineStatic(nativePublicKeyCredential, 'parseRequestOptionsFromJSON', parseRequestOptionsFromJSON);\n root.PublicKeyCredential = nativePublicKeyCredential;\n}\nfunction defineStatic(target, key, value) {\n try {\n Object.defineProperty(target, key, {\n configurable: true,\n value,\n writable: true,\n });\n }\n catch (_a) {\n Reflect.set(target, key, value);\n }\n}\n//# sourceMappingURL=shim.js.map","import { registerPlugin } from '@capacitor/core';\nimport { installWebAuthnShim } from './shim';\nimport { createNativeRequest } from './webauthn';\nconst NativeCapacitorPasskey = registerPlugin('CapacitorPasskey', {\n web: () => import('./web').then((module) => new module.CapacitorPasskeyWeb()),\n});\nlet configurationPromise;\nlet cachedConfiguration;\nfunction mergeShimOptions(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration === null || configuration === void 0 ? void 0 : configuration.origin;\n const force = options === null || options === void 0 ? void 0 : options.force;\n if (!origin && force === undefined) {\n return undefined;\n }\n return {\n force,\n origin,\n };\n}\nfunction mergeRuntimeConfiguration(configuration, options) {\n var _a;\n const origin = (_a = options === null || options === void 0 ? void 0 : options.origin) !== null && _a !== void 0 ? _a : configuration.origin;\n const domains = new Set(configuration.domains);\n if (origin) {\n try {\n domains.add(new URL(origin).hostname);\n }\n catch (_b) {\n // Ignore invalid override values here and let native APIs validate later.\n }\n }\n return Object.assign(Object.assign({}, configuration), { domains: [...domains], origin });\n}\nasync function loadConfiguration() {\n try {\n const configuration = await NativeCapacitorPasskey.getConfiguration();\n cachedConfiguration = configuration;\n return configuration;\n }\n catch (error) {\n configurationPromise = undefined;\n throw error;\n }\n}\nconst CapacitorPasskey = {\n async autoShimWebAuthn(options) {\n const configuration = await CapacitorPasskey.getConfiguration();\n const effectiveConfiguration = mergeRuntimeConfiguration(configuration, options);\n cachedConfiguration = effectiveConfiguration;\n installWebAuthnShim({\n options: mergeShimOptions(effectiveConfiguration, options),\n plugin: CapacitorPasskey,\n });\n return effectiveConfiguration;\n },\n async createCredential(options) {\n return NativeCapacitorPasskey.createCredential(createNativeRequest(options));\n },\n async getConfiguration() {\n if (!configurationPromise) {\n configurationPromise = loadConfiguration();\n }\n return configurationPromise;\n },\n async getCredential(options) {\n return NativeCapacitorPasskey.getCredential(createNativeRequest(options));\n },\n async getPluginVersion() {\n return NativeCapacitorPasskey.getPluginVersion();\n },\n async isSupported() {\n return NativeCapacitorPasskey.isSupported();\n },\n shimWebAuthn(options) {\n installWebAuthnShim({\n options: mergeShimOptions(cachedConfiguration, options),\n plugin: CapacitorPasskey,\n });\n },\n};\nexport * from './definitions';\nexport { CapacitorPasskey };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { browserAuthenticationToJSON, browserCreationOptionsFromJSON, browserRegistrationToJSON, browserRequestOptionsFromJSON, createPasskeyDomException, } from './webauthn';\nexport class CapacitorPasskeyWeb extends WebPlugin {\n async createCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.create({\n publicKey: browserCreationOptionsFromJSON(parsed),\n });\n return browserRegistrationToJSON(credential);\n }\n async getCredential(options) {\n const credentials = this.ensureCredentials();\n const parsed = JSON.parse(options.requestJson);\n const credential = await credentials.get({\n publicKey: browserRequestOptionsFromJSON(parsed),\n });\n return browserAuthenticationToJSON(credential);\n }\n async getConfiguration() {\n const origin = this.currentOrigin();\n const domains = origin ? [new URL(origin).hostname] : [];\n return {\n autoShim: true,\n domains,\n origin,\n platform: 'web',\n };\n }\n async isSupported() {\n var _a, _b, _c, _d;\n const available = typeof globalThis.PublicKeyCredential !== 'undefined' &&\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) === 'function' &&\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) === 'function';\n let conditionalMediation = false;\n if (available && typeof globalThis.PublicKeyCredential.isConditionalMediationAvailable === 'function') {\n conditionalMediation = await globalThis.PublicKeyCredential.isConditionalMediationAvailable();\n }\n return {\n available,\n conditionalMediation,\n platform: 'web',\n };\n }\n async getPluginVersion() {\n return {\n version: 'web',\n };\n }\n ensureCredentials() {\n var _a, _b, _c, _d;\n if (typeof globalThis.PublicKeyCredential === 'undefined' ||\n typeof ((_b = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.credentials) === null || _b === void 0 ? void 0 : _b.create) !== 'function' ||\n typeof ((_d = (_c = globalThis.navigator) === null || _c === void 0 ? void 0 : _c.credentials) === null || _d === void 0 ? void 0 : _d.get) !== 'function') {\n throw createPasskeyDomException('NotSupportedError', 'WebAuthn is not available in this browser.');\n }\n return globalThis.navigator.credentials;\n }\n currentOrigin() {\n if (typeof globalThis.location === 'undefined') {\n return undefined;\n }\n if (globalThis.location.protocol !== 'http:' && globalThis.location.protocol !== 'https:') {\n return undefined;\n }\n return globalThis.location.origin;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/package.json
CHANGED