@gaballahtech/seba 0.2.1 → 0.5.0
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/ARCHITECTURE.md +4 -2
- package/CHANGELOG.md +130 -0
- package/MIGRATION.md +60 -0
- package/README.md +174 -8
- package/SECURITY.md +1 -1
- package/assets/seba-icon-favicon.png +0 -0
- package/assets/seba-icon-solid.png +0 -0
- package/assets/seba-logo-inverse.png +0 -0
- package/assets/seba-logo-monochrome.png +0 -0
- package/assets/seba-logo-primary.png +0 -0
- package/dist/assets/icons.d.ts +32 -0
- package/dist/assets/icons.d.ts.map +1 -0
- package/dist/assets/icons.js +30 -0
- package/dist/assets/icons.js.map +1 -0
- package/dist/assets/png-data.d.ts +8 -0
- package/dist/assets/png-data.d.ts.map +1 -0
- package/dist/assets/png-data.js +13 -0
- package/dist/assets/png-data.js.map +1 -0
- package/dist/browser/platform.d.ts +6 -0
- package/dist/browser/platform.d.ts.map +1 -1
- package/dist/browser/platform.js +17 -0
- package/dist/browser/platform.js.map +1 -1
- package/dist/browser/storage.d.ts +3 -2
- package/dist/browser/storage.d.ts.map +1 -1
- package/dist/browser/storage.js +26 -14
- package/dist/browser/storage.js.map +1 -1
- package/dist/cli.d.ts +61 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +223 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/client.d.ts +18 -8
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +130 -6
- package/dist/core/client.js.map +1 -1
- package/dist/core/errors.d.ts +10 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +7 -2
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events.d.ts +27 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +45 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +6 -1
- package/dist/core/http.js.map +1 -1
- package/dist/core/oidc.d.ts +17 -7
- package/dist/core/oidc.d.ts.map +1 -1
- package/dist/core/oidc.js +76 -27
- package/dist/core/oidc.js.map +1 -1
- package/dist/core/session.d.ts +10 -3
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +131 -20
- package/dist/core/session.js.map +1 -1
- package/dist/element.d.ts +43 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +416 -0
- package/dist/element.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/pod.d.ts +50 -0
- package/dist/pod.d.ts.map +1 -0
- package/dist/pod.js +264 -0
- package/dist/pod.js.map +1 -0
- package/dist/react/index.d.ts +52 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +87 -0
- package/dist/react/index.js.map +1 -0
- package/dist/seba.d.ts +40 -1
- package/dist/seba.d.ts.map +1 -1
- package/dist/seba.js +90 -2
- package/dist/seba.js.map +1 -1
- package/dist/types.d.ts +140 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +27 -1
package/dist/core/client.js
CHANGED
|
@@ -10,9 +10,25 @@ import { SebaAuthError, SebaConfigError, SebaNoUIError } from "./errors.js";
|
|
|
10
10
|
import { discoverProvider, isLoopbackHost } from "./discovery.js";
|
|
11
11
|
import { httpFetch, inputToString } from "./http.js";
|
|
12
12
|
import { assertRedirectUriPublished, discoverIssuerForWebId, loadClientIdDocument, validateClientIdUrl, validateWebId, } from "./identity.js";
|
|
13
|
-
import { buildAuthorizationUrl, createPendingAuthorization, exchangeAuthorizationCode, parseAuthorizationResponse, pkceChallenge, } from "./oidc.js";
|
|
13
|
+
import { applyComplianceTolerances, buildAuthorizationUrl, createPendingAuthorization, exchangeAuthorizationCode, parseAuthorizationResponse, pkceChallenge, } from "./oidc.js";
|
|
14
14
|
import { SessionManager } from "./session.js";
|
|
15
15
|
import { assertStorageKind } from "./session.js";
|
|
16
|
+
/**
|
|
17
|
+
* Authorization-response parameters an OAuth2 provider may append to the callback URL.
|
|
18
|
+
* Presence of a `code` (or an OAuth `error`) together with `state` marks a callback.
|
|
19
|
+
*/
|
|
20
|
+
/** Parameters that on their own mark an authorization response (state is the pairing check). */
|
|
21
|
+
const RESPONSE_MARKER_PARAMS = ["code", "error", "error_description", "error_uri"];
|
|
22
|
+
/**
|
|
23
|
+
* Decide whether a URL carries an authorization response.
|
|
24
|
+
*
|
|
25
|
+
* Exported through the facade as {@link Seba.isCallbackResponse}.
|
|
26
|
+
*/
|
|
27
|
+
export function isAuthorizationResponse(url) {
|
|
28
|
+
const hasState = url.searchParams.has("state");
|
|
29
|
+
const hasResponseContent = RESPONSE_MARKER_PARAMS.some((name) => url.searchParams.has(name));
|
|
30
|
+
return hasState && hasResponseContent;
|
|
31
|
+
}
|
|
16
32
|
/** HTTP statuses that carry a `Location` header. */
|
|
17
33
|
const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
|
|
18
34
|
/** Maximum same-origin redirects followed by {@link SebaClient.fetch}. */
|
|
@@ -30,14 +46,21 @@ export class SebaClient {
|
|
|
30
46
|
#config;
|
|
31
47
|
#sessions;
|
|
32
48
|
#nonce = null;
|
|
33
|
-
constructor(config, platform) {
|
|
49
|
+
constructor(config, platform, options = {}) {
|
|
34
50
|
this.#platform = platform;
|
|
35
51
|
this.#config = resolveConfig(config, platform);
|
|
36
52
|
this.#sessions = new SessionManager({
|
|
37
53
|
clientId: this.#config.clientId,
|
|
38
54
|
storage: platform.createStorage(this.#config.storage),
|
|
39
55
|
fetchImpl: platform.fetch,
|
|
40
|
-
|
|
56
|
+
maxDpopNonceRetries: this.#config.maxDpopNonceRetries,
|
|
57
|
+
onSessionChange: (event) => {
|
|
58
|
+
options.onSessionChange?.(event);
|
|
59
|
+
},
|
|
60
|
+
discover: (issuer) => discoverProvider(issuer, platform.fetch).then((configuration) => {
|
|
61
|
+
applyComplianceTolerances(configuration, this.#tolerances(configuration.issuer));
|
|
62
|
+
return configuration;
|
|
63
|
+
}),
|
|
41
64
|
debug: (message) => {
|
|
42
65
|
this.#debug(message);
|
|
43
66
|
},
|
|
@@ -55,6 +78,45 @@ export class SebaClient {
|
|
|
55
78
|
* started: the returned promise resolves after the redirect in Node.js and never
|
|
56
79
|
* settles in the browser (the page navigates away).
|
|
57
80
|
*/
|
|
81
|
+
/**
|
|
82
|
+
* Resolve the compliance relaxations that apply to a given issuer: the per-issuer
|
|
83
|
+
* `tolerances` entry (matched exactly or modulo a trailing slash) wins over the
|
|
84
|
+
* global boolean flags; providers without an entry stay fully strict.
|
|
85
|
+
*/
|
|
86
|
+
#tolerances(issuer) {
|
|
87
|
+
const result = {};
|
|
88
|
+
if (this.#config.allowNonCompliantAudience === true) {
|
|
89
|
+
result.allowNonCompliantAudience = true;
|
|
90
|
+
}
|
|
91
|
+
if (this.#config.allowNonCompliantCnf === true) {
|
|
92
|
+
result.allowNonCompliantCnf = true;
|
|
93
|
+
}
|
|
94
|
+
const perIssuer = this.#config.tolerances?.[issuer];
|
|
95
|
+
if (perIssuer !== undefined) {
|
|
96
|
+
if (perIssuer.allowNonCompliantAudience === true) {
|
|
97
|
+
result.allowNonCompliantAudience = true;
|
|
98
|
+
}
|
|
99
|
+
if (perIssuer.allowNonCompliantCnf === true) {
|
|
100
|
+
result.allowNonCompliantCnf = true;
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
// Tolerate a trailing-slash mismatch either way (https://id.example vs https://id.example/).
|
|
105
|
+
for (const [toleranceIssuer, entry] of Object.entries(this.#config.tolerances ?? {})) {
|
|
106
|
+
const a = toleranceIssuer.replace(/\/+$/, "");
|
|
107
|
+
const b = issuer.replace(/\/+$/, "");
|
|
108
|
+
if (a === b) {
|
|
109
|
+
if (entry.allowNonCompliantAudience === true) {
|
|
110
|
+
result.allowNonCompliantAudience = true;
|
|
111
|
+
}
|
|
112
|
+
if (entry.allowNonCompliantCnf === true) {
|
|
113
|
+
result.allowNonCompliantCnf = true;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
58
120
|
async login(options = {}) {
|
|
59
121
|
const callbackUrl = this.#callbackUrl();
|
|
60
122
|
if (callbackUrl !== null) {
|
|
@@ -66,6 +128,42 @@ export class SebaClient {
|
|
|
66
128
|
}
|
|
67
129
|
return this.#startLogin(options);
|
|
68
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Complete a login from the current URL without any fallback to starting a new one.
|
|
133
|
+
* Intended for the explicit application pattern "call login() on the click that
|
|
134
|
+
* starts the flow, call completeLogin() on the callback route".
|
|
135
|
+
*
|
|
136
|
+
* @throws SebaAuthError when the current URL carries no authorization response.
|
|
137
|
+
*/
|
|
138
|
+
async completeLoginFromCurrentUrl() {
|
|
139
|
+
const callbackUrl = this.#callbackUrl();
|
|
140
|
+
const asUrl = callbackUrl === null ? null : (() => {
|
|
141
|
+
try {
|
|
142
|
+
return new URL(callbackUrl);
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
})();
|
|
148
|
+
if (asUrl === null || !isAuthorizationResponse(asUrl)) {
|
|
149
|
+
throw new SebaAuthError("The current URL does not carry an authorization response " +
|
|
150
|
+
"(no code/error + state parameters). Use completeLogin() only on the callback route, " +
|
|
151
|
+
"or call login() to start a new login.", { stage: "authorization-response" });
|
|
152
|
+
}
|
|
153
|
+
return this.#completeLogin(asUrl.href);
|
|
154
|
+
}
|
|
155
|
+
/** Token-free session details (WebID, provider, access-token expiry), or `null`. */
|
|
156
|
+
sessionInfo() {
|
|
157
|
+
const session = this.#sessions.toPublicSession();
|
|
158
|
+
if (session === null) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
webId: session.webId,
|
|
163
|
+
provider: session.provider,
|
|
164
|
+
accessTokenExpiresAt: this.#sessions.expiresAt,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
69
167
|
/**
|
|
70
168
|
* Restore a previous session from storage.
|
|
71
169
|
*
|
|
@@ -99,7 +197,7 @@ export class SebaClient {
|
|
|
99
197
|
headers: new Headers(template.headers),
|
|
100
198
|
};
|
|
101
199
|
let redirects = 0;
|
|
102
|
-
let
|
|
200
|
+
let nonceRetries = 0;
|
|
103
201
|
let tokenRetried = false;
|
|
104
202
|
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt += 1) {
|
|
105
203
|
const state = this.#sessions.require();
|
|
@@ -133,8 +231,8 @@ export class SebaClient {
|
|
|
133
231
|
continue;
|
|
134
232
|
}
|
|
135
233
|
if (response.status === 400 || response.status === 401) {
|
|
136
|
-
if (nonce !== null &&
|
|
137
|
-
|
|
234
|
+
if (nonce !== null && nonceRetries < this.#config.maxDpopNonceRetries && replayable) {
|
|
235
|
+
nonceRetries += 1;
|
|
138
236
|
continue;
|
|
139
237
|
}
|
|
140
238
|
if (response.status === 401 && !tokenRetried && replayable) {
|
|
@@ -157,6 +255,10 @@ export class SebaClient {
|
|
|
157
255
|
method: request.method,
|
|
158
256
|
headers,
|
|
159
257
|
redirect: "manual",
|
|
258
|
+
// Authenticated Solid fetches must not be answered by a heuristically-stale
|
|
259
|
+
// browser cache: a cached pre-PUT read makes If-Match preconditions fail
|
|
260
|
+
// (HTTP 412 even though the server state is unchanged).
|
|
261
|
+
cache: "no-cache",
|
|
160
262
|
};
|
|
161
263
|
if (body !== null && request.method !== "GET" && request.method !== "HEAD") {
|
|
162
264
|
init.body = body;
|
|
@@ -188,6 +290,7 @@ export class SebaClient {
|
|
|
188
290
|
throw new SebaConfigError("Login requires either a WebID or an identity provider issuer. Neither was provided.");
|
|
189
291
|
}
|
|
190
292
|
const configuration = await discoverProvider(issuer, this.#platform.fetch);
|
|
293
|
+
applyComplianceTolerances(configuration, this.#tolerances(configuration.issuer));
|
|
191
294
|
const document = await loadClientIdDocument(this.#config.clientId, this.#platform.fetch);
|
|
192
295
|
assertRedirectUriPublished(document, this.#config.redirectUri);
|
|
193
296
|
const pending = await createPendingAuthorization({
|
|
@@ -229,6 +332,7 @@ export class SebaClient {
|
|
|
229
332
|
}
|
|
230
333
|
const code = parseAuthorizationResponse(callbackUrl, pending);
|
|
231
334
|
const configuration = await discoverProvider(pending.issuer, this.#platform.fetch);
|
|
335
|
+
applyComplianceTolerances(configuration, this.#tolerances(configuration.issuer));
|
|
232
336
|
const material = await createDPoPKey();
|
|
233
337
|
const result = await exchangeAuthorizationCode({
|
|
234
338
|
configuration,
|
|
@@ -239,8 +343,12 @@ export class SebaClient {
|
|
|
239
343
|
nonce: pending.nonce,
|
|
240
344
|
signer: material.signer,
|
|
241
345
|
fetchImpl: this.#platform.fetch,
|
|
346
|
+
maxDpopNonceRetries: this.#config.maxDpopNonceRetries,
|
|
242
347
|
...(pending.webId === undefined ? {} : { expectedWebId: pending.webId }),
|
|
243
348
|
});
|
|
349
|
+
this.#debug(`token response: scope=${result.tokens.scope ?? "(not advertised)"}, ` +
|
|
350
|
+
`refresh_token=${result.tokens.refreshToken === undefined ? "ABSENT" : "present"}, ` +
|
|
351
|
+
`expires_in=${result.tokens.expiresIn ?? "(not advertised)"}`);
|
|
244
352
|
await this.#sessions.adopt({
|
|
245
353
|
tokens: result.tokens,
|
|
246
354
|
identity: result.identity,
|
|
@@ -308,12 +416,28 @@ function resolveConfig(config, platform) {
|
|
|
308
416
|
}
|
|
309
417
|
const storage = config.storage ?? platform.defaultStorage;
|
|
310
418
|
assertStorageKind(storage);
|
|
419
|
+
let maxDpopNonceRetries = 1;
|
|
420
|
+
if (config.maxDpopNonceRetries !== undefined) {
|
|
421
|
+
if (!Number.isInteger(config.maxDpopNonceRetries) || config.maxDpopNonceRetries < 0) {
|
|
422
|
+
throw new SebaConfigError("maxDpopNonceRetries must be a non-negative integer.");
|
|
423
|
+
}
|
|
424
|
+
maxDpopNonceRetries = config.maxDpopNonceRetries;
|
|
425
|
+
}
|
|
426
|
+
if (config.account !== undefined && !/^[A-Za-z0-9_-]{1,64}$/.test(config.account)) {
|
|
427
|
+
throw new SebaConfigError("account must be 1-64 characters of [A-Za-z0-9_-] " +
|
|
428
|
+
"(it names the IndexedDB database for the session storage).");
|
|
429
|
+
}
|
|
311
430
|
return {
|
|
312
431
|
clientId,
|
|
313
432
|
redirectUri: config.redirectUri,
|
|
314
433
|
storage,
|
|
315
434
|
debug: config.debug === true,
|
|
316
435
|
...(config.openAuthorizationUrl === undefined ? {} : { openAuthorizationUrl: config.openAuthorizationUrl }),
|
|
436
|
+
...(config.allowNonCompliantAudience === true ? { allowNonCompliantAudience: true } : {}),
|
|
437
|
+
...(config.allowNonCompliantCnf === true ? { allowNonCompliantCnf: true } : {}),
|
|
438
|
+
...(config.tolerances === undefined ? {} : { tolerances: config.tolerances }),
|
|
439
|
+
maxDpopNonceRetries,
|
|
440
|
+
...(config.account === undefined ? {} : { account: config.account }),
|
|
317
441
|
};
|
|
318
442
|
}
|
|
319
443
|
function buildTemplate(input, init) {
|
package/dist/core/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/errors.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ export type SebaErrorCode = "SEBA_ERR_CONFIG" | "SEBA_ERR_DISCOVERY" | "SEBA_ERR
|
|
|
9
9
|
export interface SebaErrorOptions {
|
|
10
10
|
/** Underlying error, kept for diagnostics. Never used to carry secrets. */
|
|
11
11
|
cause?: unknown;
|
|
12
|
+
/**
|
|
13
|
+
* Which protocol step produced the error, e.g. `"token-exchange"`,
|
|
14
|
+
* `"id-token-signature"`, `"id-token-audience"`, `"id-token-cnf-binding"`,
|
|
15
|
+
* `"authorization-response"`, `"network"`. Stable strings intended for
|
|
16
|
+
* diagnostics and support tooling.
|
|
17
|
+
*/
|
|
18
|
+
stage?: string;
|
|
12
19
|
}
|
|
13
20
|
/**
|
|
14
21
|
* Base class of every error thrown by SEBA.
|
|
@@ -18,13 +25,15 @@ export interface SebaErrorOptions {
|
|
|
18
25
|
* try {
|
|
19
26
|
* await seba.login();
|
|
20
27
|
* } catch (error) {
|
|
21
|
-
* if (error instanceof SebaError) console.error(error.code, error.message);
|
|
28
|
+
* if (error instanceof SebaError) console.error(error.code, error.stage, error.message);
|
|
22
29
|
* }
|
|
23
30
|
* ```
|
|
24
31
|
*/
|
|
25
32
|
export declare class SebaError extends Error {
|
|
26
33
|
/** Stable, machine-readable error code. */
|
|
27
34
|
readonly code: SebaErrorCode;
|
|
35
|
+
/** Protocol step that produced the error, when known. */
|
|
36
|
+
readonly stage?: string;
|
|
28
37
|
constructor(code: SebaErrorCode, message: string, options?: SebaErrorOptions);
|
|
29
38
|
}
|
|
30
39
|
/** Invalid, missing or contradictory library configuration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,4BAA4B,GAC5B,eAAe,GACf,0BAA0B,GAC1B,eAAe,GACf,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,4BAA4B,GAC5B,eAAe,GACf,0BAA0B,GAC1B,eAAe,GACf,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAQ7E;AAED,+DAA+D;AAC/D,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED,qEAAqE;AACrE,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACtD,iDAAiD;IACjD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,qBAAqB,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEtC,oBAAoB,EAAE,MAAM,EAAE,qBAAqB,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAY/G;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,SAAS;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED,wFAAwF;AACxF,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED,yFAAyF;AACzF,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED,kEAAkE;AAClE,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGxD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D"}
|
package/dist/core/errors.js
CHANGED
|
@@ -6,17 +6,22 @@
|
|
|
6
6
|
* try {
|
|
7
7
|
* await seba.login();
|
|
8
8
|
* } catch (error) {
|
|
9
|
-
* if (error instanceof SebaError) console.error(error.code, error.message);
|
|
9
|
+
* if (error instanceof SebaError) console.error(error.code, error.stage, error.message);
|
|
10
10
|
* }
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
13
|
export class SebaError extends Error {
|
|
14
14
|
/** Stable, machine-readable error code. */
|
|
15
15
|
code;
|
|
16
|
+
/** Protocol step that produced the error, when known. */
|
|
17
|
+
stage;
|
|
16
18
|
constructor(code, message, options) {
|
|
17
19
|
super(message, options?.cause === undefined ? undefined : { cause: options.cause });
|
|
18
20
|
this.name = new.target.name;
|
|
19
21
|
this.code = code;
|
|
22
|
+
if (options?.stage !== undefined) {
|
|
23
|
+
this.stage = options.stage;
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
27
|
/** Invalid, missing or contradictory library configuration. */
|
|
@@ -81,7 +86,7 @@ export class SebaDPoPError extends SebaError {
|
|
|
81
86
|
/** A network request failed (offline, DNS, TLS, connection reset, non-HTTP response). */
|
|
82
87
|
export class SebaNetworkError extends SebaError {
|
|
83
88
|
constructor(message, options) {
|
|
84
|
-
super("SEBA_ERR_NETWORK", message, options);
|
|
89
|
+
super("SEBA_ERR_NETWORK", message, { ...options, stage: options?.stage ?? "network" });
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
92
|
/** Interactive login is impossible in the current environment. */
|
package/dist/core/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal session event emitter.
|
|
3
|
+
*
|
|
4
|
+
* Listener failures are swallowed: an application callback must never break the
|
|
5
|
+
* authentication flow or lose a session transition.
|
|
6
|
+
*/
|
|
7
|
+
import type { SessionChangeEvent, SessionChangeListener } from "../types.js";
|
|
8
|
+
export type { SessionChangeEvent, SessionChangeListener, SessionChangeReason } from "../types.js";
|
|
9
|
+
/** Synchronous fan-out of {@link SessionChangeEvent}s. */
|
|
10
|
+
export declare class SessionEmitter {
|
|
11
|
+
#private;
|
|
12
|
+
/** Number of subscribed listeners. */
|
|
13
|
+
get size(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Subscribe to session transitions.
|
|
16
|
+
*
|
|
17
|
+
* @returns An unsubscribe function.
|
|
18
|
+
*/
|
|
19
|
+
on(listener: SessionChangeListener): () => void;
|
|
20
|
+
/** Remove a previously added listener. */
|
|
21
|
+
off(listener: SessionChangeListener): void;
|
|
22
|
+
/** Notify every listener. Listener errors are ignored. */
|
|
23
|
+
emit(event: SessionChangeEvent): void;
|
|
24
|
+
}
|
|
25
|
+
/** Create an empty session emitter. */
|
|
26
|
+
export declare function createSessionEmitter(): SessionEmitter;
|
|
27
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE7E,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElG,0DAA0D;AAC1D,qBAAa,cAAc;;IAGzB,sCAAsC;IACtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAO/C,0CAA0C;IAC1C,GAAG,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAI1C,0DAA0D;IAC1D,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAStC;AAED,uCAAuC;AACvC,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal session event emitter.
|
|
3
|
+
*
|
|
4
|
+
* Listener failures are swallowed: an application callback must never break the
|
|
5
|
+
* authentication flow or lose a session transition.
|
|
6
|
+
*/
|
|
7
|
+
/** Synchronous fan-out of {@link SessionChangeEvent}s. */
|
|
8
|
+
export class SessionEmitter {
|
|
9
|
+
#listeners = new Set();
|
|
10
|
+
/** Number of subscribed listeners. */
|
|
11
|
+
get size() {
|
|
12
|
+
return this.#listeners.size;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Subscribe to session transitions.
|
|
16
|
+
*
|
|
17
|
+
* @returns An unsubscribe function.
|
|
18
|
+
*/
|
|
19
|
+
on(listener) {
|
|
20
|
+
this.#listeners.add(listener);
|
|
21
|
+
return () => {
|
|
22
|
+
this.#listeners.delete(listener);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Remove a previously added listener. */
|
|
26
|
+
off(listener) {
|
|
27
|
+
this.#listeners.delete(listener);
|
|
28
|
+
}
|
|
29
|
+
/** Notify every listener. Listener errors are ignored. */
|
|
30
|
+
emit(event) {
|
|
31
|
+
for (const listener of [...this.#listeners]) {
|
|
32
|
+
try {
|
|
33
|
+
listener(event);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// A listener must not break the caller's session flow.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Create an empty session emitter. */
|
|
42
|
+
export function createSessionEmitter() {
|
|
43
|
+
return new SessionEmitter();
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,0DAA0D;AAC1D,MAAM,OAAO,cAAc;IAChB,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvD,sCAAsC;IACtC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,EAAE,CAAC,QAA+B;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,GAAG,CAAC,QAA+B;QACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,KAAyB;QAC5B,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,uCAAuC;AACvC,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9B,CAAC"}
|
package/dist/core/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAsB,SAAS,EAAoB,MAAM,aAAa,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,uDAAuD;AACvD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAsB,SAAS,EAAoB,MAAM,aAAa,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,uDAAuD;AACvD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6C7G;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAwD,GACzF,CAAC,CAMH;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnF;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,GAAG,MAAM,CAQ9D"}
|
package/dist/core/http.js
CHANGED
|
@@ -51,8 +51,13 @@ export async function httpFetch(url, init, options) {
|
|
|
51
51
|
throw new SebaNetworkError(`The request to ${describeUrl(target)} was aborted.`, { cause: error });
|
|
52
52
|
}
|
|
53
53
|
const reason = timedOut ? `did not complete within ${String(timeoutMs)} ms` : "could not be completed";
|
|
54
|
+
const hint = typeof window !== "undefined" && typeof document !== "undefined"
|
|
55
|
+
? "In a browser the most common cause is CORS: the server at this URL must send an " +
|
|
56
|
+
"Access-Control-Allow-Origin header covering this app's origin — resource servers " +
|
|
57
|
+
"(Pods) normally do, but custom endpoints or a mismatched URL may not."
|
|
58
|
+
: "Check any proxy configuration for the Node.js process.";
|
|
54
59
|
throw new SebaNetworkError(`Network request to ${describeUrl(target)} ${reason}. ` +
|
|
55
|
-
|
|
60
|
+
`Check the network connection and the URL. ${hint}`, { cause: error });
|
|
56
61
|
}
|
|
57
62
|
finally {
|
|
58
63
|
clearTimeout(timer);
|
package/dist/core/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAYzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAiB,EAAE,IAAiB,EAAE,OAAoB;IACxF,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAkC,UAAU,CAAC,GAAG,EAAE;QAC3D,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,SAAS,CAAC,CAAC;IACd,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC;IACF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,MAAM,CAAC,iCAAiC,EAAE;gBACjG,KAAK,EAAE,QAAQ,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,2BAA2B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvG,MAAM,IAAI,gBAAgB,CACxB,sBAAsB,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI;YACrD,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"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"}
|
package/dist/core/oidc.d.ts
CHANGED
|
@@ -117,6 +117,8 @@ export declare function requestTokenResponse(input: {
|
|
|
117
117
|
signer: DPoPSigner;
|
|
118
118
|
fetchImpl: typeof fetch;
|
|
119
119
|
nonce?: string;
|
|
120
|
+
/** Number of `use_dpop_nonce` challenges that may be answered. @defaultValue 1 */
|
|
121
|
+
maxNonceRetries?: number;
|
|
120
122
|
}): Promise<TokenRequestOutcome>;
|
|
121
123
|
/**
|
|
122
124
|
* Exchange an authorization code for a DPoP-bound token set and validate the ID token.
|
|
@@ -132,6 +134,8 @@ export declare function exchangeAuthorizationCode(input: {
|
|
|
132
134
|
nonce: string;
|
|
133
135
|
signer: DPoPSigner;
|
|
134
136
|
fetchImpl: typeof fetch;
|
|
137
|
+
/** See {@link SebaConfig.maxDpopNonceRetries}. */
|
|
138
|
+
maxDpopNonceRetries?: number;
|
|
135
139
|
expectedWebId?: string;
|
|
136
140
|
jwks?: JWTVerifyGetKey;
|
|
137
141
|
}): Promise<AuthorizationResult>;
|
|
@@ -145,14 +149,19 @@ export declare function exchangeAuthorizationCode(input: {
|
|
|
145
149
|
*/
|
|
146
150
|
export declare function parseTokenSet(body: Record<string, unknown>): TokenSet;
|
|
147
151
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* `sub`, and the WebID claim (falling back to `sub` for https WebIDs).
|
|
153
|
-
*
|
|
154
|
-
* @param input - Token, provider configuration, client identity and expectations.
|
|
152
|
+
* Copy the user's compliance-tolerance opt-ins onto a freshly discovered provider
|
|
153
|
+
* configuration, so every token-validation path (login, restore, refresh) honours
|
|
154
|
+
* flags that were declared on {@link SebaConfig} instead of being silently dropped.
|
|
155
|
+
* Only `true` values are copied; omitempty otherwise.
|
|
155
156
|
*/
|
|
157
|
+
export declare function applyComplianceTolerances(configuration: OIDCConfiguration, tolerances: {
|
|
158
|
+
allowNonCompliantAudience?: boolean;
|
|
159
|
+
allowNonCompliantCnf?: boolean;
|
|
160
|
+
} | undefined): void;
|
|
161
|
+
export declare function hasNonCompliantAudienceWarned(): boolean;
|
|
162
|
+
export declare function setNonCompliantAudienceWarned(value: boolean): void;
|
|
163
|
+
export declare function hasNonCompliantCnfWarned(): boolean;
|
|
164
|
+
export declare function setNonCompliantCnfWarned(value: boolean): void;
|
|
156
165
|
export declare function validateIdToken(input: {
|
|
157
166
|
idToken: string;
|
|
158
167
|
configuration: OIDCConfiguration;
|
|
@@ -161,6 +170,7 @@ export declare function validateIdToken(input: {
|
|
|
161
170
|
signer?: DPoPSigner;
|
|
162
171
|
fetchImpl?: typeof fetch;
|
|
163
172
|
requireDpopBinding?: boolean;
|
|
173
|
+
allowNonCompliantCnf?: boolean;
|
|
164
174
|
expectedWebId?: string;
|
|
165
175
|
expectedSubject?: string;
|
|
166
176
|
jwks?: JWTVerifyGetKey;
|
package/dist/core/oidc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/core/oidc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,MAAM,CAAC;AAId,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjG,4CAA4C;AAC5C,eAAO,MAAM,cAAc,gDAAiD,CAAC;AAK7E,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAK1C,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,SAAK,GAAG,MAAM,CAInD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CASxD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzE;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAmBhC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,GAAG,MAAM,CAiBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/core/oidc.ts"],"names":[],"mappings":"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"}
|