@tidecloak/js 0.14.41 → 0.14.42-staging
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/README.md +32 -47
- package/dist/cjs/lib/tidecloak-dpop.js +151 -42
- package/dist/cjs/lib/tidecloak-dpop.js.map +1 -1
- package/dist/cjs/lib/tidecloak.js +300 -378
- package/dist/cjs/lib/tidecloak.js.map +1 -1
- package/dist/cjs/src/AdminAPI.js +12 -19
- package/dist/cjs/src/AdminAPI.js.map +1 -1
- package/dist/cjs/src/IAMService.js +155 -2098
- package/dist/cjs/src/IAMService.js.map +1 -1
- package/dist/cjs/src/index.js +1 -7
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/esm/lib/tidecloak-dpop.js +151 -42
- package/dist/esm/lib/tidecloak-dpop.js.map +1 -1
- package/dist/esm/lib/tidecloak.js +300 -377
- package/dist/esm/lib/tidecloak.js.map +1 -1
- package/dist/esm/src/AdminAPI.js +3 -7
- package/dist/esm/src/AdminAPI.js.map +1 -1
- package/dist/esm/src/IAMService.js +152 -2065
- package/dist/esm/src/IAMService.js.map +1 -1
- package/dist/esm/src/index.js +1 -7
- package/dist/esm/src/index.js.map +1 -1
- package/dist/types/AdminAPI.d.ts +1 -1
- package/dist/types/IAMService.d.ts +52 -603
- package/dist/types/index.d.ts +1 -11
- package/dist/types/lib/tidecloak-dpop.d.ts +19 -3
- package/dist/types/lib/tidecloak.d.ts +46 -38
- package/dist/types/src/AdminAPI.d.ts +1 -1
- package/dist/types/src/IAMService.d.ts +52 -603
- package/dist/types/src/index.d.ts +1 -11
- package/docs/FRONT_CHANNEL.md +55 -55
- package/lib/README.md +10 -14
- package/package.json +4 -25
- package/dist/cjs/lib/secureFetchPolicy.js +0 -45
- package/dist/cjs/lib/secureFetchPolicy.js.map +0 -1
- package/dist/cjs/src/dpopRoute.js +0 -30
- package/dist/cjs/src/dpopRoute.js.map +0 -1
- package/dist/cjs/src/dpopServer.js +0 -77
- package/dist/cjs/src/dpopServer.js.map +0 -1
- package/dist/cjs/src/generated/dpopAuthAsset.js +0 -7
- package/dist/cjs/src/generated/dpopAuthAsset.js.map +0 -1
- package/dist/cjs/src/policy-react.js +0 -51
- package/dist/cjs/src/policy-react.js.map +0 -1
- package/dist/cjs/src/types.js +0 -6
- package/dist/cjs/src/types.js.map +0 -1
- package/dist/cjs/src/utils/dpopAuthPage.js +0 -69
- package/dist/cjs/src/utils/dpopAuthPage.js.map +0 -1
- package/dist/cjs/src/utils/fetch.js +0 -39
- package/dist/cjs/src/utils/fetch.js.map +0 -1
- package/dist/cjs/src/utils/index.js +0 -17
- package/dist/cjs/src/utils/index.js.map +0 -1
- package/dist/cjs/src/utils/initOptions.js +0 -78
- package/dist/cjs/src/utils/initOptions.js.map +0 -1
- package/dist/cjs/src/utils/pkce.js +0 -48
- package/dist/cjs/src/utils/pkce.js.map +0 -1
- package/dist/cjs/src/utils/silentCheckSso.js +0 -138
- package/dist/cjs/src/utils/silentCheckSso.js.map +0 -1
- package/dist/cjs/src/vite.js +0 -43
- package/dist/cjs/src/vite.js.map +0 -1
- package/dist/esm/lib/secureFetchPolicy.js +0 -42
- package/dist/esm/lib/secureFetchPolicy.js.map +0 -1
- package/dist/esm/src/dpopRoute.js +0 -27
- package/dist/esm/src/dpopRoute.js.map +0 -1
- package/dist/esm/src/dpopServer.js +0 -68
- package/dist/esm/src/dpopServer.js.map +0 -1
- package/dist/esm/src/generated/dpopAuthAsset.js +0 -4
- package/dist/esm/src/generated/dpopAuthAsset.js.map +0 -1
- package/dist/esm/src/policy-react.js +0 -45
- package/dist/esm/src/policy-react.js.map +0 -1
- package/dist/esm/src/types.js +0 -5
- package/dist/esm/src/types.js.map +0 -1
- package/dist/esm/src/utils/dpopAuthPage.js +0 -63
- package/dist/esm/src/utils/dpopAuthPage.js.map +0 -1
- package/dist/esm/src/utils/fetch.js +0 -36
- package/dist/esm/src/utils/fetch.js.map +0 -1
- package/dist/esm/src/utils/index.js +0 -6
- package/dist/esm/src/utils/index.js.map +0 -1
- package/dist/esm/src/utils/initOptions.js +0 -75
- package/dist/esm/src/utils/initOptions.js.map +0 -1
- package/dist/esm/src/utils/pkce.js +0 -43
- package/dist/esm/src/utils/pkce.js.map +0 -1
- package/dist/esm/src/utils/silentCheckSso.js +0 -134
- package/dist/esm/src/utils/silentCheckSso.js.map +0 -1
- package/dist/esm/src/vite.js +0 -40
- package/dist/esm/src/vite.js.map +0 -1
- package/dist/types/dpopRoute.d.ts +0 -11
- package/dist/types/dpopServer.d.ts +0 -35
- package/dist/types/generated/dpopAuthAsset.d.ts +0 -2
- package/dist/types/lib/secureFetchPolicy.d.ts +0 -37
- package/dist/types/policy-react.d.ts +0 -40
- package/dist/types/src/dpopRoute.d.ts +0 -11
- package/dist/types/src/dpopServer.d.ts +0 -35
- package/dist/types/src/generated/dpopAuthAsset.d.ts +0 -2
- package/dist/types/src/policy-react.d.ts +0 -40
- package/dist/types/src/types.d.ts +0 -114
- package/dist/types/src/utils/dpopAuthPage.d.ts +0 -22
- package/dist/types/src/utils/fetch.d.ts +0 -11
- package/dist/types/src/utils/index.d.ts +0 -5
- package/dist/types/src/utils/initOptions.d.ts +0 -69
- package/dist/types/src/utils/pkce.d.ts +0 -24
- package/dist/types/src/utils/silentCheckSso.d.ts +0 -82
- package/dist/types/src/vite.d.ts +0 -13
- package/dist/types/types.d.ts +0 -114
- package/dist/types/utils/dpopAuthPage.d.ts +0 -22
- package/dist/types/utils/fetch.d.ts +0 -11
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/utils/initOptions.d.ts +0 -69
- package/dist/types/utils/pkce.d.ts +0 -24
- package/dist/types/utils/silentCheckSso.d.ts +0 -82
- package/dist/types/vite.d.ts +0 -13
- package/docs/HYBRID_MODE.md +0 -185
- package/docs/NATIVE_MODE.md +0 -284
package/README.md
CHANGED
|
@@ -1,47 +1,32 @@
|
|
|
1
|
-
# TideCloak JavaScript SDK
|
|
2
|
-
|
|
3
|
-
Add TideCloak authentication to any JavaScript app.
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm install @tidecloak/js
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- A TideCloak server ([setup guide](https://github.com/tide-foundation/tidecloak-gettingstarted))
|
|
35
|
-
- A registered client in your TideCloak realm
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Low-level client
|
|
40
|
-
|
|
41
|
-
`TideCloak` (the keycloak-js based client that `IAMService` wraps) is documented in [lib/README.md](lib/README.md).
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Deprecated
|
|
46
|
-
|
|
47
|
-
`@tidecloak/js/policy-react` and `@tidecloak/js/policy.css` are deprecated. The policy editor has moved out of this package; the components exported there now throw when rendered and the stylesheet is empty. They remain only so existing imports keep resolving.
|
|
1
|
+
# TideCloak JavaScript SDK
|
|
2
|
+
|
|
3
|
+
Add TideCloak authentication to any JavaScript app.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install @tidecloak/js
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Getting Started
|
|
12
|
+
|
|
13
|
+
Follow the [setup guide](docs/FRONT_CHANNEL.md) for a web app or SPA.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
- A TideCloak server ([setup guide](https://github.com/tide-foundation/tidecloak-gettingstarted))
|
|
20
|
+
- A registered client in your TideCloak realm
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Low-level client
|
|
25
|
+
|
|
26
|
+
`TideCloak` (the keycloak-js based client that `IAMService` wraps) is documented in [lib/README.md](lib/README.md).
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Deprecated
|
|
31
|
+
|
|
32
|
+
`@tidecloak/js/policy.css` is deprecated. The policy editor has moved out of this package and the stylesheet is empty. It remains only so existing imports keep resolving.
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// @ts-nocheck
|
|
3
|
+
/**
|
|
4
|
+
* @import { DPoPState, DPoPSignatureProviderOptions } from "./tidecloak-dpop.js"
|
|
5
|
+
*/
|
|
3
6
|
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
4
7
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
5
8
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
@@ -24,6 +27,45 @@ exports.BrowserSignatureAlgs = {
|
|
|
24
27
|
const DB_VERSION = 1;
|
|
25
28
|
const STORE_NAME = 'main';
|
|
26
29
|
const STATE_KEY = 'dpopState';
|
|
30
|
+
const MAX_NONCE_LENGTH = 512;
|
|
31
|
+
// RFC 9449 doesn't specify format, but nonces should be printable ASCII for HTTP headers
|
|
32
|
+
const VALID_NONCE_PATTERN = /^[\x21-\x7E]+$/;
|
|
33
|
+
/**
|
|
34
|
+
* @param {string} nonce
|
|
35
|
+
* @returns {boolean}
|
|
36
|
+
*/
|
|
37
|
+
function isValidNonce(nonce) {
|
|
38
|
+
return typeof nonce === 'string' &&
|
|
39
|
+
nonce.length > 0 &&
|
|
40
|
+
nonce.length <= MAX_NONCE_LENGTH &&
|
|
41
|
+
VALID_NONCE_PATTERN.test(nonce);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @param {string} nonce
|
|
45
|
+
* @throws {Error} If nonce fails validation
|
|
46
|
+
*/
|
|
47
|
+
function assertValidNonce(nonce) {
|
|
48
|
+
if (typeof nonce !== 'string' || nonce.length === 0) {
|
|
49
|
+
throw new Error('DPoP nonce must be a non-empty string');
|
|
50
|
+
}
|
|
51
|
+
if (nonce.length > MAX_NONCE_LENGTH) {
|
|
52
|
+
throw new Error(`DPoP nonce exceeds maximum length of ${MAX_NONCE_LENGTH} characters`);
|
|
53
|
+
}
|
|
54
|
+
if (!VALID_NONCE_PATTERN.test(nonce)) {
|
|
55
|
+
throw new Error('DPoP nonce contains invalid characters');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @param {string} value
|
|
60
|
+
* @returns {Promise<string>}
|
|
61
|
+
*/
|
|
62
|
+
async function hashPrefix(value) {
|
|
63
|
+
const data = new TextEncoder().encode(value);
|
|
64
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
|
65
|
+
return Array.from(new Uint8Array(hashBuffer).slice(0, 8))
|
|
66
|
+
.map(b => b.toString(16).padStart(2, '0'))
|
|
67
|
+
.join('');
|
|
68
|
+
}
|
|
27
69
|
/** @type {Record<string, EcKeyGenParams | AlgorithmIdentifier>} */
|
|
28
70
|
const KEY_GEN_PARAMS = {
|
|
29
71
|
ES256: { name: 'ECDSA', namedCurve: 'P-256' },
|
|
@@ -53,21 +95,10 @@ const ECDSA_FALLBACK_ORDER = [
|
|
|
53
95
|
* @returns {Promise<string>} A sanitized database name
|
|
54
96
|
*/
|
|
55
97
|
async function createDbName(issuer, clientId) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const issuerHashArray = new Uint8Array(issuerHashBuffer);
|
|
61
|
-
const issuerHash = Array.from(issuerHashArray.slice(0, 8))
|
|
62
|
-
.map(b => b.toString(16).padStart(2, '0'))
|
|
63
|
-
.join('');
|
|
64
|
-
// Hash clientId to prevent special character issues and injection
|
|
65
|
-
const clientData = encoder.encode(clientId);
|
|
66
|
-
const clientHashBuffer = await crypto.subtle.digest('SHA-256', clientData);
|
|
67
|
-
const clientHashArray = new Uint8Array(clientHashBuffer);
|
|
68
|
-
const clientHash = Array.from(clientHashArray.slice(0, 8))
|
|
69
|
-
.map(b => b.toString(16).padStart(2, '0'))
|
|
70
|
-
.join('');
|
|
98
|
+
const [issuerHash, clientHash] = await Promise.all([
|
|
99
|
+
hashPrefix(issuer),
|
|
100
|
+
hashPrefix(clientId)
|
|
101
|
+
]);
|
|
71
102
|
return `dpop:${issuerHash}:${clientHash}`;
|
|
72
103
|
}
|
|
73
104
|
/**
|
|
@@ -129,7 +160,7 @@ class DPoPStoreManager {
|
|
|
129
160
|
if (__classPrivateFieldGet(this, _DPoPStoreManager_strictStorage, "f")) {
|
|
130
161
|
throw new Error('DPoP requires IndexedDB for secure key storage, but it is unavailable.', { cause: error });
|
|
131
162
|
}
|
|
132
|
-
console.warn('[
|
|
163
|
+
console.warn('[TIDECLOAK] IndexedDB unavailable, falling back to in-memory storage:', error);
|
|
133
164
|
__classPrivateFieldSet(this, _DPoPStoreManager_useMemoryFallback, true, "f");
|
|
134
165
|
}
|
|
135
166
|
return this;
|
|
@@ -214,19 +245,7 @@ class DPoPStoreManager {
|
|
|
214
245
|
* @throws {Error} If nonce fails validation
|
|
215
246
|
*/
|
|
216
247
|
async updateNonce(nonce) {
|
|
217
|
-
|
|
218
|
-
const MAX_NONCE_LENGTH = 512;
|
|
219
|
-
// RFC 9449 doesn't specify format, but nonces should be printable ASCII for HTTP headers
|
|
220
|
-
const VALID_NONCE_PATTERN = /^[\x21-\x7E]+$/;
|
|
221
|
-
if (typeof nonce !== 'string' || nonce.length === 0) {
|
|
222
|
-
throw new Error('DPoP nonce must be a non-empty string');
|
|
223
|
-
}
|
|
224
|
-
if (nonce.length > MAX_NONCE_LENGTH) {
|
|
225
|
-
throw new Error(`DPoP nonce exceeds maximum length of ${MAX_NONCE_LENGTH} characters`);
|
|
226
|
-
}
|
|
227
|
-
if (!VALID_NONCE_PATTERN.test(nonce)) {
|
|
228
|
-
throw new Error('DPoP nonce contains invalid characters');
|
|
229
|
-
}
|
|
248
|
+
assertValidNonce(nonce);
|
|
230
249
|
const state = await this.get();
|
|
231
250
|
if (state) {
|
|
232
251
|
state.nonce = nonce;
|
|
@@ -321,6 +340,16 @@ class DPoPSignatureProvider {
|
|
|
321
340
|
await __classPrivateFieldGet(this, _DPoPSignatureProvider_store, "f").init();
|
|
322
341
|
// Check for existing keys or generate new ones
|
|
323
342
|
let state = await __classPrivateFieldGet(this, _DPoPSignatureProvider_store, "f").get();
|
|
343
|
+
if (state) {
|
|
344
|
+
const expectedParams = /** @type {EcKeyGenParams & Algorithm} */ (KEY_GEN_PARAMS[__classPrivateFieldGet(this, _DPoPSignatureProvider_alg, "f")]);
|
|
345
|
+
const storedAlg = /** @type {EcKeyAlgorithm} */ (state.keys.publicKey.algorithm);
|
|
346
|
+
if (storedAlg.name !== expectedParams.name
|
|
347
|
+
|| (expectedParams.namedCurve && storedAlg.namedCurve !== expectedParams.namedCurve)) {
|
|
348
|
+
console.warn('[TIDECLOAK] Stored DPoP key algorithm does not match requested algorithm, regenerating key pair.');
|
|
349
|
+
await __classPrivateFieldGet(this, _DPoPSignatureProvider_store, "f").flush();
|
|
350
|
+
state = undefined;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
324
353
|
if (!state) {
|
|
325
354
|
const keys = await __classPrivateFieldGet(this, _DPoPSignatureProvider_instances, "m", _DPoPSignatureProvider_generateKeyPair).call(this);
|
|
326
355
|
state = { keys };
|
|
@@ -366,15 +395,9 @@ class DPoPSignatureProvider {
|
|
|
366
395
|
* @param {string} nonce - The nonce from the DPoP-Nonce response header
|
|
367
396
|
*/
|
|
368
397
|
updateResourceServerNonce(origin, nonce) {
|
|
369
|
-
|
|
370
|
-
const MAX_NONCE_LENGTH = 512;
|
|
371
|
-
const VALID_NONCE_PATTERN = /^[\x21-\x7E]+$/;
|
|
372
|
-
if (typeof nonce !== 'string' || nonce.length === 0)
|
|
373
|
-
return;
|
|
374
|
-
if (nonce.length > MAX_NONCE_LENGTH)
|
|
375
|
-
return;
|
|
376
|
-
if (!VALID_NONCE_PATTERN.test(nonce))
|
|
398
|
+
if (!isValidNonce(nonce)) {
|
|
377
399
|
return;
|
|
400
|
+
}
|
|
378
401
|
__classPrivateFieldGet(this, _DPoPSignatureProvider_resourceNonces, "f").set(origin, nonce);
|
|
379
402
|
}
|
|
380
403
|
/**
|
|
@@ -422,16 +445,15 @@ class DPoPSignatureProvider {
|
|
|
422
445
|
return `${unsignedToken}.${base64UrlEncodeBuffer(signature)}`;
|
|
423
446
|
}
|
|
424
447
|
/**
|
|
425
|
-
* Compute the
|
|
426
|
-
* @returns {string}
|
|
448
|
+
* Compute the RFC 7638 JWK thumbprint of the DPoP public key.
|
|
449
|
+
* @returns {Promise<string>} Base64url-encoded SHA-256 thumbprint
|
|
427
450
|
*/
|
|
428
451
|
async generateJWKThumbprint() {
|
|
429
452
|
const state = await __classPrivateFieldGet(this, _DPoPSignatureProvider_store, "f").get();
|
|
430
453
|
if (state === undefined)
|
|
431
454
|
throw new Error('DPoP not initialized');
|
|
432
|
-
const exportedJwk = await crypto.subtle.exportKey(
|
|
433
|
-
//
|
|
434
|
-
// JSON.stringify omits undefined values, so this produces valid JWKs for both.
|
|
455
|
+
const exportedJwk = await crypto.subtle.exportKey('jwk', state.keys.publicKey);
|
|
456
|
+
// `y` is undefined for EdDSA/OKP keys and dropped by JSON.stringify.
|
|
435
457
|
const jwk = {
|
|
436
458
|
crv: exportedJwk.crv,
|
|
437
459
|
kty: exportedJwk.kty,
|
|
@@ -440,6 +462,82 @@ class DPoPSignatureProvider {
|
|
|
440
462
|
};
|
|
441
463
|
return base64UrlEncodeBuffer(await sha256Digest(JSON.stringify(jwk)));
|
|
442
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Sign a delegation request as a JWT using the DPoP private key.
|
|
467
|
+
* The resulting JWT proves the user authorizes the delegation described by the claims.
|
|
468
|
+
*
|
|
469
|
+
* @param {string} resourcePublicKeyInfo Base64 URL encoded Ed25519 SubjectPublicKeyInfo
|
|
470
|
+
* @param {string} challengeMessage UTF8 text
|
|
471
|
+
* @param {string} resourceChallengeSignature Base64 URL encoded signature
|
|
472
|
+
* @param {string} accessToken Access token if calling resource server
|
|
473
|
+
* @returns {Promise<string>} Compact JWT string (header.payload.signature)
|
|
474
|
+
* @throws {Error} If the resource's challenge signature cannot be verified
|
|
475
|
+
*/
|
|
476
|
+
async generateResourceDelegation(resourcePublicKeyInfo, challengeMessage, resourceChallengeSignature, accessToken) {
|
|
477
|
+
var _a;
|
|
478
|
+
var _b;
|
|
479
|
+
const state = await __classPrivateFieldGet(this, _DPoPSignatureProvider_store, "f").get();
|
|
480
|
+
if (state === undefined)
|
|
481
|
+
throw new Error('DPoP not initialized');
|
|
482
|
+
if (typeof resourcePublicKeyInfo !== 'string' || resourcePublicKeyInfo.length === 0)
|
|
483
|
+
throw new Error('resourcePublicKeyInfo must be a non-empty base64url-encoded string');
|
|
484
|
+
if (typeof challengeMessage !== 'string' || challengeMessage.length === 0)
|
|
485
|
+
throw new Error('challengeMessage must be a non-empty string');
|
|
486
|
+
if (typeof resourceChallengeSignature !== 'string' || resourceChallengeSignature.length === 0)
|
|
487
|
+
throw new Error('resourceChallengeSignature must be a non-empty base64url-encoded signature');
|
|
488
|
+
/** @type {Uint8Array} */
|
|
489
|
+
let resourceSpki;
|
|
490
|
+
try {
|
|
491
|
+
resourceSpki = base64UrlDecodeBuffer(resourcePublicKeyInfo);
|
|
492
|
+
}
|
|
493
|
+
catch (error) {
|
|
494
|
+
throw new Error('resourcePublicKeyInfo is not base64url-encoded', { cause: error });
|
|
495
|
+
}
|
|
496
|
+
/** @type {Uint8Array} */
|
|
497
|
+
let challengeSignature;
|
|
498
|
+
try {
|
|
499
|
+
challengeSignature = base64UrlDecodeBuffer(resourceChallengeSignature);
|
|
500
|
+
}
|
|
501
|
+
catch (error) {
|
|
502
|
+
throw new Error('resourceChallengeSignature is not base64url-encoded', { cause: error });
|
|
503
|
+
}
|
|
504
|
+
/** @type {CryptoKey} */
|
|
505
|
+
let resourceKey;
|
|
506
|
+
try {
|
|
507
|
+
resourceKey = await crypto.subtle.importKey('spki', resourceSpki, KEY_GEN_PARAMS[exports.BrowserSignatureAlgs.ES256], true, ['verify']);
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
throw new Error('resourcePublicKeyInfo could not be imported as an P-256 SubjectPublicKeyInfo public key', { cause: error });
|
|
511
|
+
}
|
|
512
|
+
const te = new TextEncoder();
|
|
513
|
+
const challengeVerified = await crypto.subtle.verify(SIGN_PARAMS[exports.BrowserSignatureAlgs.ES256], resourceKey, challengeSignature, te.encode(challengeMessage));
|
|
514
|
+
if (!challengeVerified)
|
|
515
|
+
throw new Error('Resource challenge signature verification failed');
|
|
516
|
+
const exportedJwk = await crypto.subtle.exportKey("jwk", state.keys.publicKey);
|
|
517
|
+
const jwk = {
|
|
518
|
+
crv: exportedJwk.crv,
|
|
519
|
+
kty: exportedJwk.kty,
|
|
520
|
+
x: exportedJwk.x,
|
|
521
|
+
y: exportedJwk.y
|
|
522
|
+
};
|
|
523
|
+
const header = {
|
|
524
|
+
alg: __classPrivateFieldGet(this, _DPoPSignatureProvider_alg, "f"),
|
|
525
|
+
typ: "delegation+jwt",
|
|
526
|
+
jwk: jwk
|
|
527
|
+
};
|
|
528
|
+
const payload = {
|
|
529
|
+
jti: crypto.randomUUID(),
|
|
530
|
+
iat: Math.floor(Date.now() / 1000) - ((_b = (_a = __classPrivateFieldGet(this, _DPoPSignatureProvider_getTimeSkew, "f")) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : 0),
|
|
531
|
+
delegate_cnf: {
|
|
532
|
+
// SubjectPublicKeyInfoThumbprint - spt (new standard)
|
|
533
|
+
spt: base64UrlEncodeBuffer(await crypto.subtle.digest('SHA-256', resourceSpki))
|
|
534
|
+
},
|
|
535
|
+
ath: base64UrlEncodeBuffer(await sha256Digest(accessToken))
|
|
536
|
+
};
|
|
537
|
+
const unsignedToken = `${base64UrlEncodeBuffer(te.encode(JSON.stringify(header)))}.${base64UrlEncodeBuffer(te.encode(JSON.stringify(payload)))}`;
|
|
538
|
+
const signature = await __classPrivateFieldGet(this, _DPoPSignatureProvider_instances, "m", _DPoPSignatureProvider_sign).call(this, te.encode(unsignedToken), state.keys.privateKey);
|
|
539
|
+
return `${unsignedToken}.${base64UrlEncodeBuffer(signature)}`;
|
|
540
|
+
}
|
|
443
541
|
}
|
|
444
542
|
exports.DPoPSignatureProvider = DPoPSignatureProvider;
|
|
445
543
|
_DPoPSignatureProvider_alg = new WeakMap(), _DPoPSignatureProvider_store = new WeakMap(), _DPoPSignatureProvider_serverAllowedAlgorithms = new WeakMap(), _DPoPSignatureProvider_resourceNonces = new WeakMap(), _DPoPSignatureProvider_getTimeSkew = new WeakMap(), _DPoPSignatureProvider_instances = new WeakSet(), _DPoPSignatureProvider_generateKeyPair =
|
|
@@ -506,4 +604,15 @@ function base64UrlEncodeBuffer(buffer) {
|
|
|
506
604
|
.replaceAll('/', '_')
|
|
507
605
|
.replaceAll('=', '');
|
|
508
606
|
}
|
|
607
|
+
/**
|
|
608
|
+
* @param {string} input Base64url string, with or without padding
|
|
609
|
+
* @returns {Uint8Array}
|
|
610
|
+
*/
|
|
611
|
+
function base64UrlDecodeBuffer(input) {
|
|
612
|
+
if (!/^[A-Za-z0-9_-]*={0,2}$/.test(input))
|
|
613
|
+
throw new Error('Invalid base64url string');
|
|
614
|
+
const base64 = input.replaceAll('-', '+').replaceAll('_', '/').replace(/=+$/, '');
|
|
615
|
+
const binary = atob(base64.padEnd(base64.length + (4 - base64.length % 4) % 4, '='));
|
|
616
|
+
return Uint8Array.from(binary, c => c.charCodeAt(0));
|
|
617
|
+
}
|
|
509
618
|
//# sourceMappingURL=tidecloak-dpop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tidecloak-dpop.js","sourceRoot":"","sources":["../../../lib/tidecloak-dpop.js"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;;;;AAEd,qBAAqB;AACR,QAAA,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACf,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,MAAM,UAAU,GAAG,MAAM,CAAA;AACzB,MAAM,SAAS,GAAG,WAAW,CAAA;AAE7B,mEAAmE;AACnE,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;IAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;IAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;IAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC3B,CAAA;AAED,gEAAgE;AAChE,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IACzC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC3B,CAAA;AAED,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG;IAC3B,QAAA,oBAAoB,CAAC,KAAK;IAC1B,QAAA,oBAAoB,CAAC,KAAK;IAC1B,QAAA,oBAAoB,CAAC,KAAK;CAC3B,CAAA;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,MAAM,EAAE,QAAQ;IAC1C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IAEjC,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC1E,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAA;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC1E,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAA;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO,QAAQ,UAAU,IAAI,UAAU,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,gBAAgB;IAsBpB;;;;OAIG;IACH,YAAY,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK;;QA1BnD,qBAAqB;QACrB,mCAAU,EAAE;QAEZ,iCAAiC;UAFrB;QAEZ,iCAAiC;QACjC,+BAAM,IAAI;QAEV,sBAAsB;UAFZ;QAEV,sBAAsB;QACtB,8CAAqB,KAAK;QAE1B,oCAAoC;UAFV;QAE1B,oCAAoC;QACpC,wCAAe,SAAS;QAExB,qBAAqB;UAFG;QAExB,qBAAqB;QACrB,2CAAO;QAEP,qBAAqB;QACrB,6CAAS;QAET,sBAAsB;QACtB,kDAAc;QAQZ,uBAAA,IAAI,4BAAW,MAAM,MAAA,CAAA;QACrB,uBAAA,IAAI,8BAAa,QAAQ,MAAA,CAAA;QACzB,uBAAA,IAAI,mCAAkB,aAAa,MAAA,CAAA;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,uBAAA,IAAI,4BAAI,IAAI,uBAAA,IAAI,2CAAmB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAA,CAAC,sBAAsB;QACpC,CAAC;QAED,IAAI,CAAC;YACH,uBAAA,IAAI,4BAAW,MAAM,YAAY,CAAC,uBAAA,IAAI,gCAAQ,EAAE,uBAAA,IAAI,kCAAU,CAAC,MAAA,CAAA;YAC/D,uBAAA,IAAI,wBAAO,MAAM,uBAAA,IAAI,mEAAc,MAAlB,IAAI,CAAgB,MAAA,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,uBAAA,IAAI,uCAAe,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,wEAAwE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC7G,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,sEAAsE,EAAE,KAAK,CAAC,CAAA;YAC3F,uBAAA,IAAI,uCAAsB,IAAI,MAAA,CAAA;QAChC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IA2CD;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,uBAAA,IAAI,2CAAmB,EAAE,CAAC;YAC5B,OAAO,uBAAA,IAAI,qCAAa,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC,uBAAA,IAAI,4BAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,0BAA0B,CAAC,CAAC,uBAAA,IAAI,4BAAI,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC7F,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YACjD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAEpC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC,CAAA;YAED,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;gBACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,KAAK;QACb,IAAI,uBAAA,IAAI,2CAAmB,EAAE,CAAC;YAC5B,uBAAA,IAAI,iCAAgB,KAAK,MAAA,CAAA;YACzB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,uBAAA,IAAI,4BAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,0BAA0B,CAAC,CAAC,uBAAA,IAAI,4BAAI,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YAC9F,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YACjD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YAE3C,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC,CAAA;YAED,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;gBACvB,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,uBAAA,IAAI,2CAAmB,EAAE,CAAC;YAC5B,uBAAA,IAAI,iCAAgB,SAAS,MAAA,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,CAAC,uBAAA,IAAI,4BAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,0BAA0B,CAAC,CAAC,uBAAA,IAAI,4BAAI,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YAC9F,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YACjD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAEvC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC,CAAA;YAED,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;gBACvB,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,KAAK;QACrB,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,GAAG,CAAA;QAC5B,yFAAyF;QACzF,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;QAE5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,wCAAwC,gBAAgB,aAAa,CAAC,CAAA;QACxF,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YACnB,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,uBAAA,IAAI,4BAAI,EAAE,CAAC;YACb,uBAAA,IAAI,4BAAI,CAAC,KAAK,EAAE,CAAA;YAChB,uBAAA,IAAI,wBAAO,IAAI,MAAA,CAAA;QACjB,CAAC;IACH,CAAC;CACF;;IAlKG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,uBAAA,IAAI,gCAAQ,EAAE,UAAU,CAAC,CAAA;QAExD,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE;YACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC,CAAA;QAED,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE;YACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAA;QAED,OAAO,CAAC,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;YAClC,0BAA0B;YAC1B,MAAM,EAAE,GAAG,+BAA+B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;YAEnC,0CAA0C;YAC1C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,qBAAqB;YACrB,wBAAwB;YACxB,0CAA0C;YAC1C,mEAAmE;YACnE,8CAA8C;YAC9C,IAAI;QACN,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAkIH;IAWE;;OAEG;IACH,YAAY,OAAO;;QAbnB,kCAAkC;QAClC,6CAAK;QACL,8BAA8B;QAC9B,+CAAO;QACP,uBAAuB;QACvB,iEAAyB;QACzB,yEAAyE;QACzE,gDAAkB,IAAI,GAAG,EAAE,EAAC;QAC5B,uCAAuC;QACvC,qDAAa;QAKX,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,GAAG,KAAK,EACrB,WAAW,EACZ,GAAG,OAAO,CAAC;QACZ,uBAAA,IAAI,sCAAgB,WAAW,MAAA,CAAC;QAEhC,wCAAwC;QACxC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,uBAAA,IAAI,kDAA4B,yBAAyB,MAAA,CAAC;QAE1D,IAAI,eAAe,GAAG,QAAA,oBAAoB,CAAC,KAAK,CAAC,CAAC,uDAAuD;QAEzG,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,gEAAgE;YAChE,IAAI,CAAC,uBAAA,IAAI,sDAAyB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,wBAAwB,kBAAkB,sDAAsD,uBAAA,IAAI,sDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9J,CAAC;YAED,eAAe,GAAG,kBAAkB,CAAA;QACtC,CAAC;QAED,uBAAA,IAAI,8BAAQ,eAAe,MAAA,CAAC;QAE5B,uBAAA,IAAI,gCAAU,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAA,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,uBAAA,IAAI,oCAAO,CAAC,IAAI,EAAE,CAAC;QAEzB,+CAA+C;QAC/C,IAAI,KAAK,GAAG,MAAM,uBAAA,IAAI,oCAAO,CAAC,GAAG,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,gFAAiB,MAArB,IAAI,CAAmB,CAAA;YAC1C,KAAK,GAAG,EAAE,IAAI,EAAE,CAAA;YAChB,MAAM,uBAAA,IAAI,oCAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IA+CD;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,uBAAA,IAAI,oCAAO,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,MAAM,uBAAA,IAAI,oCAAO,CAAC,GAAG,EAAE,CAAA;QACrC,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAK;QAC/B,MAAM,uBAAA,IAAI,oCAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,MAAM;QAC3B,OAAO,uBAAA,IAAI,6CAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,KAAK;QACrC,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,GAAG,CAAA;QAC5B,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;QAE5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB;YAAE,OAAM;QAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAM;QAE5C,uBAAA,IAAI,6CAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK;;;QACzD,MAAM,OAAO,GAAG;YACZ,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE;YACxB,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,CAAC,GAAG,EAAE;gBACP,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3C,CAAC,CAAC,EAAE;YACJ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAC,MAAA,uBAAA,IAAI,0CAAa,+CAAjB,IAAI,CAAiB,mCAAI,CAAC,CAAC;YAEjE,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI;gBAC7B,GAAG,EAAE,qBAAqB,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;aAC9D,CAAC;YAEF,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;SACxC,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,uBAAA,IAAI,oCAAO,CAAC,GAAG,EAAE,CAAA;QACrC,IAAG,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG;YACX,GAAG,EAAE,uBAAA,IAAI,kCAAK;YACd,GAAG,EAAE,UAAU;YACf,gFAAgF;YAChF,+EAA+E;YAC/E,GAAG,EAAE;gBACD,GAAG,EAAE,WAAW,CAAC,GAAG;gBACpB,GAAG,EAAE,WAAW,CAAC,GAAG;gBACpB,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChB,CAAC,EAAE,WAAW,CAAC,CAAC;aACnB;SACJ,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,GAAG,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QAChJ,MAAM,SAAS,GAAG,MAAM,uBAAA,IAAI,qEAAM,MAAV,IAAI,EAAO,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,OAAO,GAAG,aAAa,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAA;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB;QACzB,MAAM,KAAK,GAAG,MAAM,uBAAA,IAAI,oCAAO,CAAC,GAAG,EAAE,CAAA;QACrC,IAAG,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/E,gFAAgF;QAChF,+EAA+E;QAC/E,MAAM,GAAG,GAAG;YACV,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,CAAC,EAAE,WAAW,CAAC,CAAC;YAChB,CAAC,EAAE,WAAW,CAAC,CAAC;SACjB,CAAA;QACD,OAAO,qBAAqB,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;CACF;;;AAnKC;;GAEG;AACH,KAAK;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,uBAAA,IAAI,kCAAK,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,uBAAA,IAAI,kCAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,CAClC,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CACzD,CAAA;IACH,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,EAAE,YAAY,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,mBAAmB,CAAC,EAAE,CAAC;YACrE,MAAM,EAAE,CAAA;QACV,CAAC;QACD,4DAA4D;QAC5D,IAAI,uBAAA,IAAI,kCAAK,KAAK,QAAA,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,EAAE,CAAA;QACV,CAAC;QACD,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC/C,uBAAA,IAAI,sDAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC5C,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACrE,CAAC;QACD,uBAAA,IAAI,8BAAQ,QAAQ,MAAA,CAAA;QACpB,OAAO,uBAAA,IAAI,gFAAiB,MAArB,IAAI,CAAmB,CAAA;IAChC,CAAC;AACH,CAAC;AACD;;;;GAIG;AACH,KAAK,sCAAO,GAAG,EAAE,GAAG;IAClB,MAAM,MAAM,GAAG,WAAW,CAAC,uBAAA,IAAI,kCAAK,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,uBAAA,IAAI,kCAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACnD,CAAC;AA0HH;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAE,OAAO;IAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAAM;IACnC,MAAM,KAAK,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAA;IAE5C,OAAO,IAAI,CAAC,MAAM,CAAC;SAChB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tidecloak-dpop.js","sourceRoot":"","sources":["../../../lib/tidecloak-dpop.js"],"names":[],"mappings":"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"}
|