@versini/auth-provider 4.3.0 → 5.0.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/dist/index.js CHANGED
@@ -1,47 +1,48 @@
1
- import { jsx as Ue } from "react/jsx-runtime";
1
+ import { jsx as We } from "react/jsx-runtime";
2
2
  import * as D from "react";
3
- import { createContext as Ne, useState as He, useCallback as Le, useEffect as $e, useContext as Ke } from "react";
3
+ import { createContext as Je, useState as xe, useCallback as je, useEffect as Me, useContext as Ve } from "react";
4
4
  /*!
5
- @versini/auth-provider v4.3.0
5
+ @versini/auth-provider v5.0.0
6
6
  © 2024 gizmette.com
7
7
  */
8
8
  try {
9
9
  window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
10
- version: "4.3.0",
11
- buildTime: "06/28/2024 11:03 AM EDT",
10
+ version: "5.0.0",
11
+ buildTime: "06/29/2024 02:02 PM EDT",
12
12
  homepage: "https://github.com/aversini/auth-client",
13
13
  license: "MIT"
14
14
  });
15
15
  } catch {
16
16
  }
17
17
  /*!
18
- @versini/auth-common v2.9.0
18
+ @versini/auth-common v2.10.1
19
19
  © 2024 gizmette.com
20
20
  */
21
21
  try {
22
22
  window.__VERSINI_AUTH_COMMON__ || (window.__VERSINI_AUTH_COMMON__ = {
23
- version: "2.9.0",
24
- buildTime: "06/28/2024 11:03 AM EDT",
23
+ version: "2.10.1",
24
+ buildTime: "06/29/2024 02:02 PM EDT",
25
25
  homepage: "https://github.com/aversini/auth-client",
26
26
  license: "MIT"
27
27
  });
28
28
  } catch {
29
29
  }
30
- const M = {
30
+ const B = {
31
31
  ID_TOKEN: "id_token",
32
32
  ACCESS_TOKEN: "token",
33
33
  ID_AND_ACCESS_TOKEN: "id_token token",
34
34
  CODE: "code",
35
35
  REFRESH_TOKEN: "refresh_token"
36
- }, Je = {
36
+ }, Ye = {
37
37
  CLIENT_ID: "X-Auth-ClientId"
38
38
  }, f = {
39
39
  ALG: "RS256",
40
40
  USER_ID_KEY: "sub",
41
41
  TOKEN_ID_KEY: "__raw",
42
42
  NONCE_KEY: "_nonce",
43
+ USERNAME_KEY: "username",
43
44
  ISSUER: "gizmette.com"
44
- }, We = `-----BEGIN PUBLIC KEY-----
45
+ }, Be = `-----BEGIN PUBLIC KEY-----
45
46
  MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsF6i3Jd9fY/3COqCw/m7
46
47
  w5PKyTYLGAI2I6SIIdpe6i6DOCbEkmDz7LdVsBqwNtVi8gvWYIj+8ol6rU3qu1v5
47
48
  i1Jd45GSK4kzkVdgCmQZbM5ak0KI99q5wsrAIzUd+LRJ2HRvWtr5IYdsIiXaQjle
@@ -49,28 +50,28 @@ aMwPFOIcJH+rKfFgNcHLcaS5syp7zU1ANwZ+trgR+DifBr8TLVkBynmNeTyhDm2+
49
50
  l0haqjMk0UoNPPE8iYBWUHQJJE1Dqstj65d6Eh5g64Pao25y4cmYJbKjiblIGEkE
50
51
  sjqybA9mARAqh9k/eiIopecWSiffNQTwVQVd2I9ZH3BalhEXHlqFgrjz51kFqg81
51
52
  awIDAQAB
52
- -----END PUBLIC KEY-----`, V = {
53
+ -----END PUBLIC KEY-----`, F = {
53
54
  AUTHENTICATE: "authenticate",
54
55
  CODE: "code",
55
56
  LOGOUT: "logout"
56
- }, te = crypto, Ee = (e) => e instanceof CryptoKey, L = new TextEncoder(), Y = new TextDecoder();
57
- function xe(...e) {
58
- const t = e.reduce((a, { length: s }) => a + s, 0), o = new Uint8Array(t);
59
- let r = 0;
60
- for (const a of e)
61
- o.set(a, r), r += a.length;
62
- return o;
57
+ }, G = crypto, Ae = (e) => e instanceof CryptoKey, N = new TextEncoder(), q = new TextDecoder();
58
+ function Fe(...e) {
59
+ const t = e.reduce((n, { length: s }) => n + s, 0), r = new Uint8Array(t);
60
+ let a = 0;
61
+ for (const n of e)
62
+ r.set(n, a), a += n.length;
63
+ return r;
63
64
  }
64
- const je = (e) => {
65
- const t = atob(e), o = new Uint8Array(t.length);
66
- for (let r = 0; r < t.length; r++)
67
- o[r] = t.charCodeAt(r);
68
- return o;
69
- }, B = (e) => {
65
+ const Ge = (e) => {
66
+ const t = atob(e), r = new Uint8Array(t.length);
67
+ for (let a = 0; a < t.length; a++)
68
+ r[a] = t.charCodeAt(a);
69
+ return r;
70
+ }, M = (e) => {
70
71
  let t = e;
71
- t instanceof Uint8Array && (t = Y.decode(t)), t = t.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
72
+ t instanceof Uint8Array && (t = q.decode(t)), t = t.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
72
73
  try {
73
- return je(t);
74
+ return Ge(t);
74
75
  } catch {
75
76
  throw new TypeError("The input to be decoded is not correctly encoded.");
76
77
  }
@@ -80,27 +81,27 @@ class C extends Error {
80
81
  return "ERR_JOSE_GENERIC";
81
82
  }
82
83
  constructor(t) {
83
- var o;
84
- super(t), this.code = "ERR_JOSE_GENERIC", this.name = this.constructor.name, (o = Error.captureStackTrace) == null || o.call(Error, this, this.constructor);
84
+ var r;
85
+ super(t), this.code = "ERR_JOSE_GENERIC", this.name = this.constructor.name, (r = Error.captureStackTrace) == null || r.call(Error, this, this.constructor);
85
86
  }
86
87
  }
87
88
  class g extends C {
88
89
  static get code() {
89
90
  return "ERR_JWT_CLAIM_VALIDATION_FAILED";
90
91
  }
91
- constructor(t, o, r = "unspecified", a = "unspecified") {
92
- super(t), this.code = "ERR_JWT_CLAIM_VALIDATION_FAILED", this.claim = r, this.reason = a, this.payload = o;
92
+ constructor(t, r, a = "unspecified", n = "unspecified") {
93
+ super(t), this.code = "ERR_JWT_CLAIM_VALIDATION_FAILED", this.claim = a, this.reason = n, this.payload = r;
93
94
  }
94
95
  }
95
- class ae extends C {
96
+ class ie extends C {
96
97
  static get code() {
97
98
  return "ERR_JWT_EXPIRED";
98
99
  }
99
- constructor(t, o, r = "unspecified", a = "unspecified") {
100
- super(t), this.code = "ERR_JWT_EXPIRED", this.claim = r, this.reason = a, this.payload = o;
100
+ constructor(t, r, a = "unspecified", n = "unspecified") {
101
+ super(t), this.code = "ERR_JWT_EXPIRED", this.claim = a, this.reason = n, this.payload = r;
101
102
  }
102
103
  }
103
- class Me extends C {
104
+ class qe extends C {
104
105
  constructor() {
105
106
  super(...arguments), this.code = "ERR_JOSE_ALG_NOT_ALLOWED";
106
107
  }
@@ -108,15 +109,14 @@ class Me extends C {
108
109
  return "ERR_JOSE_ALG_NOT_ALLOWED";
109
110
  }
110
111
  }
111
- class F extends C {
112
+ let T = class extends C {
112
113
  constructor() {
113
114
  super(...arguments), this.code = "ERR_JOSE_NOT_SUPPORTED";
114
115
  }
115
116
  static get code() {
116
117
  return "ERR_JOSE_NOT_SUPPORTED";
117
118
  }
118
- }
119
- let h = class extends C {
119
+ }, h = class extends C {
120
120
  constructor() {
121
121
  super(...arguments), this.code = "ERR_JWS_INVALID";
122
122
  }
@@ -124,7 +124,7 @@ let h = class extends C {
124
124
  return "ERR_JWS_INVALID";
125
125
  }
126
126
  };
127
- class Se extends C {
127
+ class be extends C {
128
128
  constructor() {
129
129
  super(...arguments), this.code = "ERR_JWT_INVALID";
130
130
  }
@@ -132,7 +132,7 @@ class Se extends C {
132
132
  return "ERR_JWT_INVALID";
133
133
  }
134
134
  }
135
- class Ve extends C {
135
+ class ze extends C {
136
136
  constructor() {
137
137
  super(...arguments), this.code = "ERR_JWS_SIGNATURE_VERIFICATION_FAILED", this.message = "signature verification failed";
138
138
  }
@@ -140,16 +140,16 @@ class Ve extends C {
140
140
  return "ERR_JWS_SIGNATURE_VERIFICATION_FAILED";
141
141
  }
142
142
  }
143
- function _(e, t = "algorithm.name") {
143
+ function b(e, t = "algorithm.name") {
144
144
  return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);
145
145
  }
146
146
  function $(e, t) {
147
147
  return e.name === t;
148
148
  }
149
- function q(e) {
149
+ function X(e) {
150
150
  return parseInt(e.name.slice(4), 10);
151
151
  }
152
- function Ye(e) {
152
+ function Xe(e) {
153
153
  switch (e) {
154
154
  case "ES256":
155
155
  return "P-256";
@@ -161,106 +161,106 @@ function Ye(e) {
161
161
  throw new Error("unreachable");
162
162
  }
163
163
  }
164
- function Fe(e, t) {
165
- if (t.length && !t.some((o) => e.usages.includes(o))) {
166
- let o = "CryptoKey does not support this operation, its usages must include ";
164
+ function Qe(e, t) {
165
+ if (t.length && !t.some((r) => e.usages.includes(r))) {
166
+ let r = "CryptoKey does not support this operation, its usages must include ";
167
167
  if (t.length > 2) {
168
- const r = t.pop();
169
- o += `one of ${t.join(", ")}, or ${r}.`;
168
+ const a = t.pop();
169
+ r += `one of ${t.join(", ")}, or ${a}.`;
170
170
  } else
171
- t.length === 2 ? o += `one of ${t[0]} or ${t[1]}.` : o += `${t[0]}.`;
172
- throw new TypeError(o);
171
+ t.length === 2 ? r += `one of ${t[0]} or ${t[1]}.` : r += `${t[0]}.`;
172
+ throw new TypeError(r);
173
173
  }
174
174
  }
175
- function Ge(e, t, ...o) {
175
+ function Ze(e, t, ...r) {
176
176
  switch (t) {
177
177
  case "HS256":
178
178
  case "HS384":
179
179
  case "HS512": {
180
180
  if (!$(e.algorithm, "HMAC"))
181
- throw _("HMAC");
182
- const r = parseInt(t.slice(2), 10);
183
- if (q(e.algorithm.hash) !== r)
184
- throw _(`SHA-${r}`, "algorithm.hash");
181
+ throw b("HMAC");
182
+ const a = parseInt(t.slice(2), 10);
183
+ if (X(e.algorithm.hash) !== a)
184
+ throw b(`SHA-${a}`, "algorithm.hash");
185
185
  break;
186
186
  }
187
187
  case "RS256":
188
188
  case "RS384":
189
189
  case "RS512": {
190
190
  if (!$(e.algorithm, "RSASSA-PKCS1-v1_5"))
191
- throw _("RSASSA-PKCS1-v1_5");
192
- const r = parseInt(t.slice(2), 10);
193
- if (q(e.algorithm.hash) !== r)
194
- throw _(`SHA-${r}`, "algorithm.hash");
191
+ throw b("RSASSA-PKCS1-v1_5");
192
+ const a = parseInt(t.slice(2), 10);
193
+ if (X(e.algorithm.hash) !== a)
194
+ throw b(`SHA-${a}`, "algorithm.hash");
195
195
  break;
196
196
  }
197
197
  case "PS256":
198
198
  case "PS384":
199
199
  case "PS512": {
200
200
  if (!$(e.algorithm, "RSA-PSS"))
201
- throw _("RSA-PSS");
202
- const r = parseInt(t.slice(2), 10);
203
- if (q(e.algorithm.hash) !== r)
204
- throw _(`SHA-${r}`, "algorithm.hash");
201
+ throw b("RSA-PSS");
202
+ const a = parseInt(t.slice(2), 10);
203
+ if (X(e.algorithm.hash) !== a)
204
+ throw b(`SHA-${a}`, "algorithm.hash");
205
205
  break;
206
206
  }
207
207
  case "EdDSA": {
208
208
  if (e.algorithm.name !== "Ed25519" && e.algorithm.name !== "Ed448")
209
- throw _("Ed25519 or Ed448");
209
+ throw b("Ed25519 or Ed448");
210
210
  break;
211
211
  }
212
212
  case "ES256":
213
213
  case "ES384":
214
214
  case "ES512": {
215
215
  if (!$(e.algorithm, "ECDSA"))
216
- throw _("ECDSA");
217
- const r = Ye(t);
218
- if (e.algorithm.namedCurve !== r)
219
- throw _(r, "algorithm.namedCurve");
216
+ throw b("ECDSA");
217
+ const a = Xe(t);
218
+ if (e.algorithm.namedCurve !== a)
219
+ throw b(a, "algorithm.namedCurve");
220
220
  break;
221
221
  }
222
222
  default:
223
223
  throw new TypeError("CryptoKey does not support this operation");
224
224
  }
225
- Fe(e, o);
225
+ Qe(e, r);
226
226
  }
227
- function ge(e, t, ...o) {
228
- var r;
229
- if (o.length > 2) {
230
- const a = o.pop();
231
- e += `one of type ${o.join(", ")}, or ${a}.`;
227
+ function _e(e, t, ...r) {
228
+ var a;
229
+ if (r.length > 2) {
230
+ const n = r.pop();
231
+ e += `one of type ${r.join(", ")}, or ${n}.`;
232
232
  } else
233
- o.length === 2 ? e += `one of type ${o[0]} or ${o[1]}.` : e += `of type ${o[0]}.`;
234
- return t == null ? e += ` Received ${t}` : typeof t == "function" && t.name ? e += ` Received function ${t.name}` : typeof t == "object" && t != null && (r = t.constructor) != null && r.name && (e += ` Received an instance of ${t.constructor.name}`), e;
233
+ r.length === 2 ? e += `one of type ${r[0]} or ${r[1]}.` : e += `of type ${r[0]}.`;
234
+ return t == null ? e += ` Received ${t}` : typeof t == "function" && t.name ? e += ` Received function ${t.name}` : typeof t == "object" && t != null && (a = t.constructor) != null && a.name && (e += ` Received an instance of ${t.constructor.name}`), e;
235
235
  }
236
- const ne = (e, ...t) => ge("Key must be ", e, ...t);
237
- function Ae(e, t, ...o) {
238
- return ge(`Key for the ${e} algorithm must be `, t, ...o);
236
+ const ce = (e, ...t) => _e("Key must be ", e, ...t);
237
+ function ve(e, t, ...r) {
238
+ return _e(`Key for the ${e} algorithm must be `, t, ...r);
239
239
  }
240
- const _e = (e) => Ee(e), I = ["CryptoKey"], Be = (...e) => {
240
+ const Te = (e) => Ae(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Y = ["CryptoKey"], et = (...e) => {
241
241
  const t = e.filter(Boolean);
242
242
  if (t.length === 0 || t.length === 1)
243
243
  return !0;
244
- let o;
245
- for (const r of t) {
246
- const a = Object.keys(r);
247
- if (!o || o.size === 0) {
248
- o = new Set(a);
244
+ let r;
245
+ for (const a of t) {
246
+ const n = Object.keys(a);
247
+ if (!r || r.size === 0) {
248
+ r = new Set(n);
249
249
  continue;
250
250
  }
251
- for (const s of a) {
252
- if (o.has(s))
251
+ for (const s of n) {
252
+ if (r.has(s))
253
253
  return !1;
254
- o.add(s);
254
+ r.add(s);
255
255
  }
256
256
  }
257
257
  return !0;
258
258
  };
259
- function qe(e) {
259
+ function tt(e) {
260
260
  return typeof e == "object" && e !== null;
261
261
  }
262
- function ee(e) {
263
- if (!qe(e) || Object.prototype.toString.call(e) !== "[object Object]")
262
+ function ne(e) {
263
+ if (!tt(e) || Object.prototype.toString.call(e) !== "[object Object]")
264
264
  return !1;
265
265
  if (Object.getPrototypeOf(e) === null)
266
266
  return !0;
@@ -269,51 +269,153 @@ function ee(e) {
269
269
  t = Object.getPrototypeOf(t);
270
270
  return Object.getPrototypeOf(e) === t;
271
271
  }
272
- const ze = (e, t) => {
272
+ const rt = (e, t) => {
273
273
  if (e.startsWith("RS") || e.startsWith("PS")) {
274
- const { modulusLength: o } = t.algorithm;
275
- if (typeof o != "number" || o < 2048)
274
+ const { modulusLength: r } = t.algorithm;
275
+ if (typeof r != "number" || r < 2048)
276
276
  throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`);
277
277
  }
278
- }, b = (e, t, o = 0) => {
279
- o === 0 && (t.unshift(t.length), t.unshift(6));
280
- const r = e.indexOf(t[0], o);
281
- if (r === -1)
278
+ };
279
+ function at(e) {
280
+ let t, r;
281
+ switch (e.kty) {
282
+ case "RSA": {
283
+ switch (e.alg) {
284
+ case "PS256":
285
+ case "PS384":
286
+ case "PS512":
287
+ t = { name: "RSA-PSS", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
288
+ break;
289
+ case "RS256":
290
+ case "RS384":
291
+ case "RS512":
292
+ t = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${e.alg.slice(-3)}` }, r = e.d ? ["sign"] : ["verify"];
293
+ break;
294
+ case "RSA-OAEP":
295
+ case "RSA-OAEP-256":
296
+ case "RSA-OAEP-384":
297
+ case "RSA-OAEP-512":
298
+ t = {
299
+ name: "RSA-OAEP",
300
+ hash: `SHA-${parseInt(e.alg.slice(-3), 10) || 1}`
301
+ }, r = e.d ? ["decrypt", "unwrapKey"] : ["encrypt", "wrapKey"];
302
+ break;
303
+ default:
304
+ throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
305
+ }
306
+ break;
307
+ }
308
+ case "EC": {
309
+ switch (e.alg) {
310
+ case "ES256":
311
+ t = { name: "ECDSA", namedCurve: "P-256" }, r = e.d ? ["sign"] : ["verify"];
312
+ break;
313
+ case "ES384":
314
+ t = { name: "ECDSA", namedCurve: "P-384" }, r = e.d ? ["sign"] : ["verify"];
315
+ break;
316
+ case "ES512":
317
+ t = { name: "ECDSA", namedCurve: "P-521" }, r = e.d ? ["sign"] : ["verify"];
318
+ break;
319
+ case "ECDH-ES":
320
+ case "ECDH-ES+A128KW":
321
+ case "ECDH-ES+A192KW":
322
+ case "ECDH-ES+A256KW":
323
+ t = { name: "ECDH", namedCurve: e.crv }, r = e.d ? ["deriveBits"] : [];
324
+ break;
325
+ default:
326
+ throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
327
+ }
328
+ break;
329
+ }
330
+ case "OKP": {
331
+ switch (e.alg) {
332
+ case "EdDSA":
333
+ t = { name: e.crv }, r = e.d ? ["sign"] : ["verify"];
334
+ break;
335
+ case "ECDH-ES":
336
+ case "ECDH-ES+A128KW":
337
+ case "ECDH-ES+A192KW":
338
+ case "ECDH-ES+A256KW":
339
+ t = { name: e.crv }, r = e.d ? ["deriveBits"] : [];
340
+ break;
341
+ default:
342
+ throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
343
+ }
344
+ break;
345
+ }
346
+ default:
347
+ throw new T('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
348
+ }
349
+ return { algorithm: t, keyUsages: r };
350
+ }
351
+ const nt = async (e) => {
352
+ if (!e.alg)
353
+ throw new TypeError('"alg" argument is required when "jwk.alg" is not present');
354
+ const { algorithm: t, keyUsages: r } = at(e), a = [
355
+ t,
356
+ e.ext ?? !1,
357
+ e.key_ops ?? r
358
+ ], n = { ...e };
359
+ return delete n.alg, delete n.use, G.subtle.importKey("jwk", n, ...a);
360
+ }, ke = (e) => M(e);
361
+ let Q, Z;
362
+ const Re = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Ie = async (e, t, r, a) => {
363
+ let n = e.get(t);
364
+ if (n != null && n[a])
365
+ return n[a];
366
+ const s = await nt({ ...r, alg: a });
367
+ return n ? n[a] = s : e.set(t, { [a]: s }), s;
368
+ }, ot = (e, t) => {
369
+ if (Re(e)) {
370
+ let r = e.export({ format: "jwk" });
371
+ return delete r.d, delete r.dp, delete r.dq, delete r.p, delete r.q, delete r.qi, r.k ? ke(r.k) : (Z || (Z = /* @__PURE__ */ new WeakMap()), Ie(Z, e, r, t));
372
+ }
373
+ return e;
374
+ }, st = (e, t) => {
375
+ if (Re(e)) {
376
+ let r = e.export({ format: "jwk" });
377
+ return r.k ? ke(r.k) : (Q || (Q = /* @__PURE__ */ new WeakMap()), Ie(Q, e, r, t));
378
+ }
379
+ return e;
380
+ }, it = { normalizePublicKey: ot, normalizePrivateKey: st }, v = (e, t, r = 0) => {
381
+ r === 0 && (t.unshift(t.length), t.unshift(6));
382
+ const a = e.indexOf(t[0], r);
383
+ if (a === -1)
282
384
  return !1;
283
- const a = e.subarray(r, r + t.length);
284
- return a.length !== t.length ? !1 : a.every((s, n) => s === t[n]) || b(e, t, r + 1);
285
- }, se = (e) => {
385
+ const n = e.subarray(a, a + t.length);
386
+ return n.length !== t.length ? !1 : n.every((s, o) => s === t[o]) || v(e, t, a + 1);
387
+ }, ue = (e) => {
286
388
  switch (!0) {
287
- case b(e, [42, 134, 72, 206, 61, 3, 1, 7]):
389
+ case v(e, [42, 134, 72, 206, 61, 3, 1, 7]):
288
390
  return "P-256";
289
- case b(e, [43, 129, 4, 0, 34]):
391
+ case v(e, [43, 129, 4, 0, 34]):
290
392
  return "P-384";
291
- case b(e, [43, 129, 4, 0, 35]):
393
+ case v(e, [43, 129, 4, 0, 35]):
292
394
  return "P-521";
293
- case b(e, [43, 101, 110]):
395
+ case v(e, [43, 101, 110]):
294
396
  return "X25519";
295
- case b(e, [43, 101, 111]):
397
+ case v(e, [43, 101, 111]):
296
398
  return "X448";
297
- case b(e, [43, 101, 112]):
399
+ case v(e, [43, 101, 112]):
298
400
  return "Ed25519";
299
- case b(e, [43, 101, 113]):
401
+ case v(e, [43, 101, 113]):
300
402
  return "Ed448";
301
403
  default:
302
- throw new F("Invalid or unsupported EC Key Curve or OKP Key Sub Type");
404
+ throw new T("Invalid or unsupported EC Key Curve or OKP Key Sub Type");
303
405
  }
304
- }, Xe = async (e, t, o, r, a) => {
305
- let s, n;
306
- const i = new Uint8Array(atob(o.replace(e, "")).split("").map((c) => c.charCodeAt(0)));
307
- switch (r) {
406
+ }, ct = async (e, t, r, a, n) => {
407
+ let s, o;
408
+ const c = new Uint8Array(atob(r.replace(e, "")).split("").map((i) => i.charCodeAt(0)));
409
+ switch (a) {
308
410
  case "PS256":
309
411
  case "PS384":
310
412
  case "PS512":
311
- s = { name: "RSA-PSS", hash: `SHA-${r.slice(-3)}` }, n = ["verify"];
413
+ s = { name: "RSA-PSS", hash: `SHA-${a.slice(-3)}` }, o = ["verify"];
312
414
  break;
313
415
  case "RS256":
314
416
  case "RS384":
315
417
  case "RS512":
316
- s = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${r.slice(-3)}` }, n = ["verify"];
418
+ s = { name: "RSASSA-PKCS1-v1_5", hash: `SHA-${a.slice(-3)}` }, o = ["verify"];
317
419
  break;
318
420
  case "RSA-OAEP":
319
421
  case "RSA-OAEP-256":
@@ -321,130 +423,130 @@ const ze = (e, t) => {
321
423
  case "RSA-OAEP-512":
322
424
  s = {
323
425
  name: "RSA-OAEP",
324
- hash: `SHA-${parseInt(r.slice(-3), 10) || 1}`
325
- }, n = ["encrypt", "wrapKey"];
426
+ hash: `SHA-${parseInt(a.slice(-3), 10) || 1}`
427
+ }, o = ["encrypt", "wrapKey"];
326
428
  break;
327
429
  case "ES256":
328
- s = { name: "ECDSA", namedCurve: "P-256" }, n = ["verify"];
430
+ s = { name: "ECDSA", namedCurve: "P-256" }, o = ["verify"];
329
431
  break;
330
432
  case "ES384":
331
- s = { name: "ECDSA", namedCurve: "P-384" }, n = ["verify"];
433
+ s = { name: "ECDSA", namedCurve: "P-384" }, o = ["verify"];
332
434
  break;
333
435
  case "ES512":
334
- s = { name: "ECDSA", namedCurve: "P-521" }, n = ["verify"];
436
+ s = { name: "ECDSA", namedCurve: "P-521" }, o = ["verify"];
335
437
  break;
336
438
  case "ECDH-ES":
337
439
  case "ECDH-ES+A128KW":
338
440
  case "ECDH-ES+A192KW":
339
441
  case "ECDH-ES+A256KW": {
340
- const c = se(i);
341
- s = c.startsWith("P-") ? { name: "ECDH", namedCurve: c } : { name: c }, n = [];
442
+ const i = ue(c);
443
+ s = i.startsWith("P-") ? { name: "ECDH", namedCurve: i } : { name: i }, o = [];
342
444
  break;
343
445
  }
344
446
  case "EdDSA":
345
- s = { name: se(i) }, n = ["verify"];
447
+ s = { name: ue(c) }, o = ["verify"];
346
448
  break;
347
449
  default:
348
- throw new F('Invalid or unsupported "alg" (Algorithm) value');
450
+ throw new T('Invalid or unsupported "alg" (Algorithm) value');
349
451
  }
350
- return te.subtle.importKey(t, i, s, !1, n);
351
- }, Qe = (e, t, o) => Xe(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "spki", e, t);
352
- async function Ze(e, t, o) {
452
+ return G.subtle.importKey(t, c, s, !1, o);
453
+ }, ut = (e, t, r) => ct(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g, "spki", e, t);
454
+ async function dt(e, t, r) {
353
455
  if (e.indexOf("-----BEGIN PUBLIC KEY-----") !== 0)
354
456
  throw new TypeError('"spki" must be SPKI formatted string');
355
- return Qe(e, t);
457
+ return ut(e, t);
356
458
  }
357
- const et = (e, t) => {
459
+ const V = (e) => e == null ? void 0 : e[Symbol.toStringTag], lt = (e, t) => {
358
460
  if (!(t instanceof Uint8Array)) {
359
- if (!_e(t))
360
- throw new TypeError(Ae(e, t, ...I, "Uint8Array"));
461
+ if (!Te(t))
462
+ throw new TypeError(ve(e, t, ...Y, "Uint8Array"));
361
463
  if (t.type !== "secret")
362
- throw new TypeError(`${I.join(" or ")} instances for symmetric algorithms must be of type "secret"`);
464
+ throw new TypeError(`${V(t)} instances for symmetric algorithms must be of type "secret"`);
363
465
  }
364
- }, tt = (e, t, o) => {
365
- if (!_e(t))
366
- throw new TypeError(Ae(e, t, ...I));
466
+ }, ht = (e, t, r) => {
467
+ if (!Te(t))
468
+ throw new TypeError(ve(e, t, ...Y));
367
469
  if (t.type === "secret")
368
- throw new TypeError(`${I.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);
369
- if (t.algorithm && o === "verify" && t.type === "private")
370
- throw new TypeError(`${I.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);
371
- if (t.algorithm && o === "encrypt" && t.type === "private")
372
- throw new TypeError(`${I.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`);
373
- }, rt = (e, t, o) => {
374
- e.startsWith("HS") || e === "dir" || e.startsWith("PBES2") || /^A\d{3}(?:GCM)?KW$/.test(e) ? et(e, t) : tt(e, t, o);
470
+ throw new TypeError(`${V(t)} instances for asymmetric algorithms must not be of type "secret"`);
471
+ if (t.algorithm && r === "verify" && t.type === "private")
472
+ throw new TypeError(`${V(t)} instances for asymmetric algorithm verifying must be of type "public"`);
473
+ if (t.algorithm && r === "encrypt" && t.type === "private")
474
+ throw new TypeError(`${V(t)} instances for asymmetric algorithm encryption must be of type "public"`);
475
+ }, pt = (e, t, r) => {
476
+ e.startsWith("HS") || e === "dir" || e.startsWith("PBES2") || /^A\d{3}(?:GCM)?KW$/.test(e) ? lt(e, t) : ht(e, t, r);
375
477
  };
376
- function ot(e, t, o, r, a) {
377
- if (a.crit !== void 0 && (r == null ? void 0 : r.crit) === void 0)
478
+ function yt(e, t, r, a, n) {
479
+ if (n.crit !== void 0 && (a == null ? void 0 : a.crit) === void 0)
378
480
  throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');
379
- if (!r || r.crit === void 0)
481
+ if (!a || a.crit === void 0)
380
482
  return /* @__PURE__ */ new Set();
381
- if (!Array.isArray(r.crit) || r.crit.length === 0 || r.crit.some((n) => typeof n != "string" || n.length === 0))
483
+ if (!Array.isArray(a.crit) || a.crit.length === 0 || a.crit.some((o) => typeof o != "string" || o.length === 0))
382
484
  throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
383
485
  let s;
384
- o !== void 0 ? s = new Map([...Object.entries(o), ...t.entries()]) : s = t;
385
- for (const n of r.crit) {
386
- if (!s.has(n))
387
- throw new F(`Extension Header Parameter "${n}" is not recognized`);
388
- if (a[n] === void 0)
389
- throw new e(`Extension Header Parameter "${n}" is missing`);
390
- if (s.get(n) && r[n] === void 0)
391
- throw new e(`Extension Header Parameter "${n}" MUST be integrity protected`);
486
+ r !== void 0 ? s = new Map([...Object.entries(r), ...t.entries()]) : s = t;
487
+ for (const o of a.crit) {
488
+ if (!s.has(o))
489
+ throw new T(`Extension Header Parameter "${o}" is not recognized`);
490
+ if (n[o] === void 0)
491
+ throw new e(`Extension Header Parameter "${o}" is missing`);
492
+ if (s.get(o) && a[o] === void 0)
493
+ throw new e(`Extension Header Parameter "${o}" MUST be integrity protected`);
392
494
  }
393
- return new Set(r.crit);
495
+ return new Set(a.crit);
394
496
  }
395
- const at = (e, t) => {
396
- if (t !== void 0 && (!Array.isArray(t) || t.some((o) => typeof o != "string")))
497
+ const ft = (e, t) => {
498
+ if (t !== void 0 && (!Array.isArray(t) || t.some((r) => typeof r != "string")))
397
499
  throw new TypeError(`"${e}" option must be an array of strings`);
398
500
  if (t)
399
501
  return new Set(t);
400
502
  };
401
- function nt(e, t) {
402
- const o = `SHA-${e.slice(-3)}`;
503
+ function mt(e, t) {
504
+ const r = `SHA-${e.slice(-3)}`;
403
505
  switch (e) {
404
506
  case "HS256":
405
507
  case "HS384":
406
508
  case "HS512":
407
- return { hash: o, name: "HMAC" };
509
+ return { hash: r, name: "HMAC" };
408
510
  case "PS256":
409
511
  case "PS384":
410
512
  case "PS512":
411
- return { hash: o, name: "RSA-PSS", saltLength: e.slice(-3) >> 3 };
513
+ return { hash: r, name: "RSA-PSS", saltLength: e.slice(-3) >> 3 };
412
514
  case "RS256":
413
515
  case "RS384":
414
516
  case "RS512":
415
- return { hash: o, name: "RSASSA-PKCS1-v1_5" };
517
+ return { hash: r, name: "RSASSA-PKCS1-v1_5" };
416
518
  case "ES256":
417
519
  case "ES384":
418
520
  case "ES512":
419
- return { hash: o, name: "ECDSA", namedCurve: t.namedCurve };
521
+ return { hash: r, name: "ECDSA", namedCurve: t.namedCurve };
420
522
  case "EdDSA":
421
523
  return { name: t.name };
422
524
  default:
423
- throw new F(`alg ${e} is not supported either by JOSE or your javascript runtime`);
525
+ throw new T(`alg ${e} is not supported either by JOSE or your javascript runtime`);
424
526
  }
425
527
  }
426
- function st(e, t, o) {
427
- if (Ee(t))
428
- return Ge(t, e, o), t;
528
+ async function wt(e, t, r) {
529
+ if (t = await it.normalizePublicKey(t, e), Ae(t))
530
+ return Ze(t, e, r), t;
429
531
  if (t instanceof Uint8Array) {
430
532
  if (!e.startsWith("HS"))
431
- throw new TypeError(ne(t, ...I));
432
- return te.subtle.importKey("raw", t, { hash: `SHA-${e.slice(-3)}`, name: "HMAC" }, !1, [o]);
533
+ throw new TypeError(ce(t, ...Y));
534
+ return G.subtle.importKey("raw", t, { hash: `SHA-${e.slice(-3)}`, name: "HMAC" }, !1, [r]);
433
535
  }
434
- throw new TypeError(ne(t, ...I, "Uint8Array"));
536
+ throw new TypeError(ce(t, ...Y, "Uint8Array"));
435
537
  }
436
- const ct = async (e, t, o, r) => {
437
- const a = await st(e, t, "verify");
438
- ze(e, a);
439
- const s = nt(e, a.algorithm);
538
+ const Et = async (e, t, r, a) => {
539
+ const n = await wt(e, t, "verify");
540
+ rt(e, n);
541
+ const s = mt(e, n.algorithm);
440
542
  try {
441
- return await te.subtle.verify(s, a, o, r);
543
+ return await G.subtle.verify(s, n, r, a);
442
544
  } catch {
443
545
  return !1;
444
546
  }
445
547
  };
446
- async function it(e, t, o) {
447
- if (!ee(e))
548
+ async function St(e, t, r) {
549
+ if (!ne(e))
448
550
  throw new h("Flattened JWS must be an object");
449
551
  if (e.protected === void 0 && e.header === void 0)
450
552
  throw new h('Flattened JWS must have either of the "protected" or "header" members');
@@ -454,183 +556,183 @@ async function it(e, t, o) {
454
556
  throw new h("JWS Payload missing");
455
557
  if (typeof e.signature != "string")
456
558
  throw new h("JWS Signature missing or incorrect type");
457
- if (e.header !== void 0 && !ee(e.header))
559
+ if (e.header !== void 0 && !ne(e.header))
458
560
  throw new h("JWS Unprotected Header incorrect type");
459
- let r = {};
561
+ let a = {};
460
562
  if (e.protected)
461
563
  try {
462
- const m = B(e.protected);
463
- r = JSON.parse(Y.decode(m));
564
+ const w = M(e.protected);
565
+ a = JSON.parse(q.decode(w));
464
566
  } catch {
465
567
  throw new h("JWS Protected Header is invalid");
466
568
  }
467
- if (!Be(r, e.header))
569
+ if (!et(a, e.header))
468
570
  throw new h("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
469
- const a = {
470
- ...r,
571
+ const n = {
572
+ ...a,
471
573
  ...e.header
472
- }, s = ot(h, /* @__PURE__ */ new Map([["b64", !0]]), o == null ? void 0 : o.crit, r, a);
473
- let n = !0;
474
- if (s.has("b64") && (n = r.b64, typeof n != "boolean"))
574
+ }, s = yt(h, /* @__PURE__ */ new Map([["b64", !0]]), r == null ? void 0 : r.crit, a, n);
575
+ let o = !0;
576
+ if (s.has("b64") && (o = a.b64, typeof o != "boolean"))
475
577
  throw new h('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
476
- const { alg: i } = a;
477
- if (typeof i != "string" || !i)
578
+ const { alg: c } = n;
579
+ if (typeof c != "string" || !c)
478
580
  throw new h('JWS "alg" (Algorithm) Header Parameter missing or invalid');
479
- const c = o && at("algorithms", o.algorithms);
480
- if (c && !c.has(i))
481
- throw new Me('"alg" (Algorithm) Header Parameter value not allowed');
482
- if (n) {
581
+ const i = r && ft("algorithms", r.algorithms);
582
+ if (i && !i.has(c))
583
+ throw new qe('"alg" (Algorithm) Header Parameter value not allowed');
584
+ if (o) {
483
585
  if (typeof e.payload != "string")
484
586
  throw new h("JWS Payload must be a string");
485
587
  } else if (typeof e.payload != "string" && !(e.payload instanceof Uint8Array))
486
588
  throw new h("JWS Payload must be a string or an Uint8Array instance");
487
589
  let u = !1;
488
- typeof t == "function" && (t = await t(r, e), u = !0), rt(i, t, "verify");
489
- const y = xe(L.encode(e.protected ?? ""), L.encode("."), typeof e.payload == "string" ? L.encode(e.payload) : e.payload);
490
- let p;
590
+ typeof t == "function" && (t = await t(a, e), u = !0), pt(c, t, "verify");
591
+ const m = Fe(N.encode(e.protected ?? ""), N.encode("."), typeof e.payload == "string" ? N.encode(e.payload) : e.payload);
592
+ let y;
491
593
  try {
492
- p = B(e.signature);
594
+ y = M(e.signature);
493
595
  } catch {
494
596
  throw new h("Failed to base64url decode the signature");
495
597
  }
496
- if (!await ct(i, t, p, y))
497
- throw new Ve();
498
- let T;
499
- if (n)
598
+ if (!await Et(c, t, y, m))
599
+ throw new ze();
600
+ let _;
601
+ if (o)
500
602
  try {
501
- T = B(e.payload);
603
+ _ = M(e.payload);
502
604
  } catch {
503
605
  throw new h("Failed to base64url decode the payload");
504
606
  }
505
607
  else
506
- typeof e.payload == "string" ? T = L.encode(e.payload) : T = e.payload;
507
- const E = { payload: T };
508
- return e.protected !== void 0 && (E.protectedHeader = r), e.header !== void 0 && (E.unprotectedHeader = e.header), u ? { ...E, key: t } : E;
608
+ typeof e.payload == "string" ? _ = N.encode(e.payload) : _ = e.payload;
609
+ const E = { payload: _ };
610
+ return e.protected !== void 0 && (E.protectedHeader = a), e.header !== void 0 && (E.unprotectedHeader = e.header), u ? { ...E, key: t } : E;
509
611
  }
510
- async function ut(e, t, o) {
511
- if (e instanceof Uint8Array && (e = Y.decode(e)), typeof e != "string")
612
+ async function gt(e, t, r) {
613
+ if (e instanceof Uint8Array && (e = q.decode(e)), typeof e != "string")
512
614
  throw new h("Compact JWS must be a string or Uint8Array");
513
- const { 0: r, 1: a, 2: s, length: n } = e.split(".");
514
- if (n !== 3)
615
+ const { 0: a, 1: n, 2: s, length: o } = e.split(".");
616
+ if (o !== 3)
515
617
  throw new h("Invalid Compact JWS");
516
- const i = await it({ payload: a, protected: r, signature: s }, t, o), c = { payload: i.payload, protectedHeader: i.protectedHeader };
517
- return typeof t == "function" ? { ...c, key: i.key } : c;
618
+ const c = await St({ payload: n, protected: a, signature: s }, t, r), i = { payload: c.payload, protectedHeader: c.protectedHeader };
619
+ return typeof t == "function" ? { ...i, key: c.key } : i;
518
620
  }
519
- const dt = (e) => Math.floor(e.getTime() / 1e3), Te = 60, be = Te * 60, re = be * 24, lt = re * 7, ht = re * 365.25, pt = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, ce = (e) => {
520
- const t = pt.exec(e);
621
+ const At = (e) => Math.floor(e.getTime() / 1e3), Ce = 60, Pe = Ce * 60, oe = Pe * 24, bt = oe * 7, _t = oe * 365.25, vt = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, de = (e) => {
622
+ const t = vt.exec(e);
521
623
  if (!t || t[4] && t[1])
522
624
  throw new TypeError("Invalid time period format");
523
- const o = parseFloat(t[2]), r = t[3].toLowerCase();
524
- let a;
525
- switch (r) {
625
+ const r = parseFloat(t[2]), a = t[3].toLowerCase();
626
+ let n;
627
+ switch (a) {
526
628
  case "sec":
527
629
  case "secs":
528
630
  case "second":
529
631
  case "seconds":
530
632
  case "s":
531
- a = Math.round(o);
633
+ n = Math.round(r);
532
634
  break;
533
635
  case "minute":
534
636
  case "minutes":
535
637
  case "min":
536
638
  case "mins":
537
639
  case "m":
538
- a = Math.round(o * Te);
640
+ n = Math.round(r * Ce);
539
641
  break;
540
642
  case "hour":
541
643
  case "hours":
542
644
  case "hr":
543
645
  case "hrs":
544
646
  case "h":
545
- a = Math.round(o * be);
647
+ n = Math.round(r * Pe);
546
648
  break;
547
649
  case "day":
548
650
  case "days":
549
651
  case "d":
550
- a = Math.round(o * re);
652
+ n = Math.round(r * oe);
551
653
  break;
552
654
  case "week":
553
655
  case "weeks":
554
656
  case "w":
555
- a = Math.round(o * lt);
657
+ n = Math.round(r * bt);
556
658
  break;
557
659
  default:
558
- a = Math.round(o * ht);
660
+ n = Math.round(r * _t);
559
661
  break;
560
662
  }
561
- return t[1] === "-" || t[4] === "ago" ? -a : a;
562
- }, ie = (e) => e.toLowerCase().replace(/^application\//, ""), ft = (e, t) => typeof e == "string" ? t.includes(e) : Array.isArray(e) ? t.some(Set.prototype.has.bind(new Set(e))) : !1, yt = (e, t, o = {}) => {
563
- let r;
663
+ return t[1] === "-" || t[4] === "ago" ? -n : n;
664
+ }, le = (e) => e.toLowerCase().replace(/^application\//, ""), Tt = (e, t) => typeof e == "string" ? t.includes(e) : Array.isArray(e) ? t.some(Set.prototype.has.bind(new Set(e))) : !1, kt = (e, t, r = {}) => {
665
+ let a;
564
666
  try {
565
- r = JSON.parse(Y.decode(t));
667
+ a = JSON.parse(q.decode(t));
566
668
  } catch {
567
669
  }
568
- if (!ee(r))
569
- throw new Se("JWT Claims Set must be a top-level JSON object");
570
- const { typ: a } = o;
571
- if (a && (typeof e.typ != "string" || ie(e.typ) !== ie(a)))
572
- throw new g('unexpected "typ" JWT header value', r, "typ", "check_failed");
573
- const { requiredClaims: s = [], issuer: n, subject: i, audience: c, maxTokenAge: u } = o, y = [...s];
574
- u !== void 0 && y.push("iat"), c !== void 0 && y.push("aud"), i !== void 0 && y.push("sub"), n !== void 0 && y.push("iss");
575
- for (const m of new Set(y.reverse()))
576
- if (!(m in r))
577
- throw new g(`missing required "${m}" claim`, r, m, "missing");
578
- if (n && !(Array.isArray(n) ? n : [n]).includes(r.iss))
579
- throw new g('unexpected "iss" claim value', r, "iss", "check_failed");
580
- if (i && r.sub !== i)
581
- throw new g('unexpected "sub" claim value', r, "sub", "check_failed");
582
- if (c && !ft(r.aud, typeof c == "string" ? [c] : c))
583
- throw new g('unexpected "aud" claim value', r, "aud", "check_failed");
584
- let p;
585
- switch (typeof o.clockTolerance) {
670
+ if (!ne(a))
671
+ throw new be("JWT Claims Set must be a top-level JSON object");
672
+ const { typ: n } = r;
673
+ if (n && (typeof e.typ != "string" || le(e.typ) !== le(n)))
674
+ throw new g('unexpected "typ" JWT header value', a, "typ", "check_failed");
675
+ const { requiredClaims: s = [], issuer: o, subject: c, audience: i, maxTokenAge: u } = r, m = [...s];
676
+ u !== void 0 && m.push("iat"), i !== void 0 && m.push("aud"), c !== void 0 && m.push("sub"), o !== void 0 && m.push("iss");
677
+ for (const w of new Set(m.reverse()))
678
+ if (!(w in a))
679
+ throw new g(`missing required "${w}" claim`, a, w, "missing");
680
+ if (o && !(Array.isArray(o) ? o : [o]).includes(a.iss))
681
+ throw new g('unexpected "iss" claim value', a, "iss", "check_failed");
682
+ if (c && a.sub !== c)
683
+ throw new g('unexpected "sub" claim value', a, "sub", "check_failed");
684
+ if (i && !Tt(a.aud, typeof i == "string" ? [i] : i))
685
+ throw new g('unexpected "aud" claim value', a, "aud", "check_failed");
686
+ let y;
687
+ switch (typeof r.clockTolerance) {
586
688
  case "string":
587
- p = ce(o.clockTolerance);
689
+ y = de(r.clockTolerance);
588
690
  break;
589
691
  case "number":
590
- p = o.clockTolerance;
692
+ y = r.clockTolerance;
591
693
  break;
592
694
  case "undefined":
593
- p = 0;
695
+ y = 0;
594
696
  break;
595
697
  default:
596
698
  throw new TypeError("Invalid clockTolerance option type");
597
699
  }
598
- const { currentDate: T } = o, E = dt(T || /* @__PURE__ */ new Date());
599
- if ((r.iat !== void 0 || u) && typeof r.iat != "number")
600
- throw new g('"iat" claim must be a number', r, "iat", "invalid");
601
- if (r.nbf !== void 0) {
602
- if (typeof r.nbf != "number")
603
- throw new g('"nbf" claim must be a number', r, "nbf", "invalid");
604
- if (r.nbf > E + p)
605
- throw new g('"nbf" claim timestamp check failed', r, "nbf", "check_failed");
700
+ const { currentDate: _ } = r, E = At(_ || /* @__PURE__ */ new Date());
701
+ if ((a.iat !== void 0 || u) && typeof a.iat != "number")
702
+ throw new g('"iat" claim must be a number', a, "iat", "invalid");
703
+ if (a.nbf !== void 0) {
704
+ if (typeof a.nbf != "number")
705
+ throw new g('"nbf" claim must be a number', a, "nbf", "invalid");
706
+ if (a.nbf > E + y)
707
+ throw new g('"nbf" claim timestamp check failed', a, "nbf", "check_failed");
606
708
  }
607
- if (r.exp !== void 0) {
608
- if (typeof r.exp != "number")
609
- throw new g('"exp" claim must be a number', r, "exp", "invalid");
610
- if (r.exp <= E - p)
611
- throw new ae('"exp" claim timestamp check failed', r, "exp", "check_failed");
709
+ if (a.exp !== void 0) {
710
+ if (typeof a.exp != "number")
711
+ throw new g('"exp" claim must be a number', a, "exp", "invalid");
712
+ if (a.exp <= E - y)
713
+ throw new ie('"exp" claim timestamp check failed', a, "exp", "check_failed");
612
714
  }
613
715
  if (u) {
614
- const m = E - r.iat, v = typeof u == "number" ? u : ce(u);
615
- if (m - p > v)
616
- throw new ae('"iat" claim timestamp check failed (too far in the past)', r, "iat", "check_failed");
617
- if (m < 0 - p)
618
- throw new g('"iat" claim timestamp check failed (it should be in the past)', r, "iat", "check_failed");
716
+ const w = E - a.iat, k = typeof u == "number" ? u : de(u);
717
+ if (w - y > k)
718
+ throw new ie('"iat" claim timestamp check failed (too far in the past)', a, "iat", "check_failed");
719
+ if (w < 0 - y)
720
+ throw new g('"iat" claim timestamp check failed (it should be in the past)', a, "iat", "check_failed");
619
721
  }
620
- return r;
722
+ return a;
621
723
  };
622
- async function mt(e, t, o) {
623
- var r;
624
- const a = await ut(e, t, o);
625
- if ((r = a.protectedHeader.crit) != null && r.includes("b64") && a.protectedHeader.b64 === !1)
626
- throw new Se("JWTs MUST NOT use unencoded payload");
627
- const s = { payload: yt(a.protectedHeader, a.payload, o), protectedHeader: a.protectedHeader };
628
- return typeof t == "function" ? { ...s, key: a.key } : s;
724
+ async function Rt(e, t, r) {
725
+ var a;
726
+ const n = await gt(e, t, r);
727
+ if ((a = n.protectedHeader.crit) != null && a.includes("b64") && n.protectedHeader.b64 === !1)
728
+ throw new be("JWTs MUST NOT use unencoded payload");
729
+ const s = { payload: kt(n.protectedHeader, n.payload, r), protectedHeader: n.protectedHeader };
730
+ return typeof t == "function" ? { ...s, key: n.key } : s;
629
731
  }
630
- const N = async (e) => {
732
+ const H = async (e) => {
631
733
  try {
632
- const t = f.ALG, o = await Ze(We, t);
633
- return await mt(e, o, {
734
+ const t = f.ALG, r = await dt(Be, t);
735
+ return await Rt(e, r, {
634
736
  issuer: f.ISSUER
635
737
  });
636
738
  } catch {
@@ -638,157 +740,157 @@ const N = async (e) => {
638
740
  }
639
741
  };
640
742
  var d = [];
641
- for (var z = 0; z < 256; ++z)
642
- d.push((z + 256).toString(16).slice(1));
643
- function wt(e, t = 0) {
743
+ for (var ee = 0; ee < 256; ++ee)
744
+ d.push((ee + 256).toString(16).slice(1));
745
+ function It(e, t = 0) {
644
746
  return (d[e[t + 0]] + d[e[t + 1]] + d[e[t + 2]] + d[e[t + 3]] + "-" + d[e[t + 4]] + d[e[t + 5]] + "-" + d[e[t + 6]] + d[e[t + 7]] + "-" + d[e[t + 8]] + d[e[t + 9]] + "-" + d[e[t + 10]] + d[e[t + 11]] + d[e[t + 12]] + d[e[t + 13]] + d[e[t + 14]] + d[e[t + 15]]).toLowerCase();
645
747
  }
646
- var K, Et = new Uint8Array(16);
647
- function St() {
648
- if (!K && (K = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !K))
748
+ var L, Ct = new Uint8Array(16);
749
+ function Pt() {
750
+ if (!L && (L = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !L))
649
751
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
650
- return K(Et);
752
+ return L(Ct);
651
753
  }
652
- var gt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
653
- const ue = {
654
- randomUUID: gt
754
+ var Ot = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
755
+ const he = {
756
+ randomUUID: Ot
655
757
  };
656
- function de(e, t, o) {
657
- if (ue.randomUUID && !t && !e)
658
- return ue.randomUUID();
758
+ function pe(e, t, r) {
759
+ if (he.randomUUID && !t && !e)
760
+ return he.randomUUID();
659
761
  e = e || {};
660
- var r = e.random || (e.rng || St)();
661
- return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, wt(r);
762
+ var a = e.random || (e.rng || Pt)();
763
+ return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, It(a);
662
764
  }
663
- const le = globalThis.crypto, At = (e) => `${de()}${de()}`.slice(0, e), _t = (e) => btoa(
765
+ const ye = globalThis.crypto, Dt = (e) => `${pe()}${pe()}`.slice(0, e), Ut = (e) => btoa(
664
766
  [...new Uint8Array(e)].map((t) => String.fromCharCode(t)).join("")
665
767
  );
666
- async function Tt(e) {
667
- if (!le.subtle)
768
+ async function Ht(e) {
769
+ if (!ye.subtle)
668
770
  throw new Error(
669
771
  "crypto.subtle is available only in secure contexts (HTTPS)."
670
772
  );
671
- const t = new TextEncoder().encode(e), o = await le.subtle.digest("SHA-256", t);
672
- return _t(o).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
773
+ const t = new TextEncoder().encode(e), r = await ye.subtle.digest("SHA-256", t);
774
+ return Ut(r).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
673
775
  }
674
- async function bt(e) {
675
- const o = At(43), r = await Tt(o);
776
+ async function Kt(e) {
777
+ const r = Dt(43), a = await Ht(r);
676
778
  return {
677
- code_verifier: o,
678
- code_challenge: r
779
+ code_verifier: r,
780
+ code_challenge: a
679
781
  };
680
782
  }
681
- function Ie(e, t) {
783
+ function Oe(e, t) {
682
784
  window.dispatchEvent(new StorageEvent("storage", { key: e, newValue: t }));
683
785
  }
684
- const he = (e, t) => {
685
- const o = JSON.stringify(
786
+ const fe = (e, t) => {
787
+ const r = JSON.stringify(
686
788
  typeof t == "function" ? t() : t
687
789
  );
688
- window.localStorage.setItem(e, o), Ie(e, o);
689
- }, It = (e) => {
690
- window.localStorage.removeItem(e), Ie(e, null);
691
- }, pe = (e) => window.localStorage.getItem(e), vt = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
692
- function J({
790
+ window.localStorage.setItem(e, r), Oe(e, r);
791
+ }, Nt = (e) => {
792
+ window.localStorage.removeItem(e), Oe(e, null);
793
+ }, me = (e) => window.localStorage.getItem(e), $t = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
794
+ function W({
693
795
  key: e,
694
796
  initialValue: t
695
797
  }) {
696
- const o = () => pe(e), r = D.useSyncExternalStore(
697
- vt,
698
- o
699
- ), a = D.useCallback(
700
- (i) => {
798
+ const r = () => me(e), a = D.useSyncExternalStore(
799
+ $t,
800
+ r
801
+ ), n = D.useCallback(
802
+ (c) => {
701
803
  try {
702
- const c = typeof i == "function" ? i(JSON.parse(r)) : i;
703
- c == null ? It(e) : he(e, c);
704
- } catch (c) {
705
- console.warn(c);
804
+ const i = typeof c == "function" ? c(JSON.parse(a)) : c;
805
+ i == null ? Nt(e) : fe(e, i);
806
+ } catch (i) {
807
+ console.warn(i);
706
808
  }
707
809
  },
708
- [e, r]
810
+ [e, a]
709
811
  ), s = D.useCallback(() => {
710
- a(t);
711
- }, [t, a]), n = D.useCallback(() => {
712
- a(null);
713
- }, [a]);
812
+ n(t);
813
+ }, [t, n]), o = D.useCallback(() => {
814
+ n(null);
815
+ }, [n]);
714
816
  return D.useEffect(() => {
715
817
  try {
716
- pe(e) === null && typeof t < "u" && he(e, t);
717
- } catch (i) {
718
- console.warn(i);
818
+ me(e) === null && typeof t < "u" && fe(e, t);
819
+ } catch (c) {
820
+ console.warn(c);
719
821
  }
720
- }, [e, t]), [r ? JSON.parse(r) : null, a, s, n];
822
+ }, [e, t]), [a ? JSON.parse(a) : null, n, s, o];
721
823
  }
722
824
  var l = [];
723
- for (var X = 0; X < 256; ++X)
724
- l.push((X + 256).toString(16).slice(1));
725
- function Rt(e, t = 0) {
825
+ for (var te = 0; te < 256; ++te)
826
+ l.push((te + 256).toString(16).slice(1));
827
+ function Lt(e, t = 0) {
726
828
  return (l[e[t + 0]] + l[e[t + 1]] + l[e[t + 2]] + l[e[t + 3]] + "-" + l[e[t + 4]] + l[e[t + 5]] + "-" + l[e[t + 6]] + l[e[t + 7]] + "-" + l[e[t + 8]] + l[e[t + 9]] + "-" + l[e[t + 10]] + l[e[t + 11]] + l[e[t + 12]] + l[e[t + 13]] + l[e[t + 14]] + l[e[t + 15]]).toLowerCase();
727
829
  }
728
- var W, kt = new Uint8Array(16);
729
- function Ct() {
730
- if (!W && (W = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !W))
830
+ var J, Wt = new Uint8Array(16);
831
+ function Jt() {
832
+ if (!J && (J = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !J))
731
833
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
732
- return W(kt);
834
+ return J(Wt);
733
835
  }
734
- var Ot = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
735
- const fe = {
736
- randomUUID: Ot
836
+ var xt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
837
+ const we = {
838
+ randomUUID: xt
737
839
  };
738
- function Pt(e, t, o) {
739
- if (fe.randomUUID && !t && !e)
740
- return fe.randomUUID();
840
+ function jt(e, t, r) {
841
+ if (we.randomUUID && !t && !e)
842
+ return we.randomUUID();
741
843
  e = e || {};
742
- var r = e.random || (e.rng || Ct)();
743
- return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, Rt(r);
844
+ var a = e.random || (e.rng || Jt)();
845
+ return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, Lt(a);
744
846
  }
745
- const Q = "Oops! It looks like your session has expired. For your security, please log in again to continue.", Dt = "Your session has been successfully terminated.", ye = "Login failed. Please try again.", U = "Error getting access token, please re-authenticate.", Ut = "You forgot to wrap your component in <AuthProvider>.", me = {
847
+ const re = "Oops! It looks like your session has expired. For your security, please log in again to continue.", Mt = "Your session has been successfully terminated.", Ee = "Login failed. Please try again.", U = "Error getting access token, please re-authenticate.", Vt = "You forgot to wrap your component in <AuthProvider>.", Se = {
746
848
  dev: "https://auth.gizmette.local.com:3003",
747
849
  prod: "https://mylogin.gizmette.com"
748
- }, x = "@@auth@@", Nt = process.env.NODE_ENV === "production", Ht = !Nt, G = async ({
850
+ }, x = "@@auth@@", Yt = process.env.NODE_ENV === "production", Bt = !Yt, z = async ({
749
851
  type: e,
750
852
  clientId: t,
751
- params: o = {}
853
+ params: r = {}
752
854
  }) => {
753
855
  try {
754
- const r = await fetch(
755
- Ht ? `${me.dev}/${e}` : `${me.prod}/${e}`,
856
+ const a = await fetch(
857
+ Bt ? `${Se.dev}/${e}` : `${Se.prod}/${e}`,
756
858
  {
757
859
  credentials: "include",
758
860
  method: "POST",
759
861
  headers: {
760
862
  "Content-Type": "application/json",
761
- [Je.CLIENT_ID]: `${t}`
863
+ [Ye.CLIENT_ID]: `${t}`
762
864
  },
763
- body: JSON.stringify(o)
865
+ body: JSON.stringify(r)
764
866
  }
765
867
  );
766
- if (r.status !== 200)
767
- return { status: r.status, data: [] };
768
- const { data: a, errors: s } = await r.json();
868
+ if (a.status !== 200)
869
+ return { status: a.status, data: [] };
870
+ const { data: n, errors: s } = await a.json();
769
871
  return {
770
- status: r.status,
771
- data: a,
872
+ status: a.status,
873
+ data: n,
772
874
  errors: s
773
875
  };
774
- } catch (r) {
775
- return console.error(r), { status: 500, data: [] };
876
+ } catch (a) {
877
+ return console.error(a), { status: 500, data: [] };
776
878
  }
777
- }, Z = async ({
879
+ }, ae = async ({
778
880
  idToken: e,
779
881
  accessToken: t,
780
- refreshToken: o,
781
- clientId: r
882
+ refreshToken: r,
883
+ clientId: a
782
884
  }) => {
783
885
  try {
784
886
  return {
785
- status: (await G({
786
- type: V.LOGOUT,
787
- clientId: r,
887
+ status: (await z({
888
+ type: F.LOGOUT,
889
+ clientId: a,
788
890
  params: {
789
891
  idToken: e,
790
892
  accessToken: t,
791
- refreshToken: o
893
+ refreshToken: r
792
894
  }
793
895
  })).status === 200
794
896
  };
@@ -797,34 +899,34 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
797
899
  status: !1
798
900
  };
799
901
  }
800
- }, we = async ({
902
+ }, ge = async ({
801
903
  username: e,
802
904
  password: t,
803
- clientId: o,
804
- nonce: r,
805
- type: a,
905
+ clientId: r,
906
+ nonce: a,
907
+ type: n,
806
908
  sessionExpiration: s,
807
- code: n,
808
- code_verifier: i
909
+ code: o,
910
+ code_verifier: c
809
911
  }) => {
810
912
  try {
811
- const c = await G({
812
- type: V.AUTHENTICATE,
813
- clientId: o,
913
+ const i = await z({
914
+ type: F.AUTHENTICATE,
915
+ clientId: r,
814
916
  params: {
815
- type: a || M.ID_AND_ACCESS_TOKEN,
917
+ type: n || B.ID_AND_ACCESS_TOKEN,
816
918
  username: e,
817
919
  password: t,
818
920
  sessionExpiration: s,
819
- nonce: r,
820
- code: n,
821
- code_verifier: i
921
+ nonce: a,
922
+ code: o,
923
+ code_verifier: c
822
924
  }
823
- }), u = await N(c.data.idToken);
824
- return u && u.payload[f.USER_ID_KEY] !== "" && u.payload[f.NONCE_KEY] === r ? {
825
- idToken: c.data.idToken,
826
- accessToken: c.data.accessToken,
827
- refreshToken: c.data.refreshToken,
925
+ }), u = await H(i.data.idToken);
926
+ return u && u.payload[f.USER_ID_KEY] !== "" && u.payload[f.NONCE_KEY] === a ? {
927
+ idToken: i.data.idToken,
928
+ accessToken: i.data.accessToken,
929
+ refreshToken: i.data.refreshToken,
828
930
  userId: u.payload[f.USER_ID_KEY],
829
931
  status: !0
830
932
  } : {
@@ -835,24 +937,24 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
835
937
  status: !1
836
938
  };
837
939
  }
838
- }, Lt = async ({
940
+ }, Ft = async ({
839
941
  nonce: e,
840
942
  clientId: t,
841
- code_challenge: o
943
+ code_challenge: r
842
944
  }) => {
843
945
  try {
844
- const r = await G({
845
- type: V.CODE,
946
+ const a = await z({
947
+ type: F.CODE,
846
948
  clientId: t,
847
949
  params: {
848
- type: M.CODE,
950
+ type: B.CODE,
849
951
  nonce: e,
850
- code_challenge: o
952
+ code_challenge: r
851
953
  }
852
954
  });
853
- return r.data.code ? {
955
+ return a.data.code ? {
854
956
  status: !0,
855
- code: r.data.code
957
+ code: a.data.code
856
958
  } : {
857
959
  status: !1
858
960
  };
@@ -861,29 +963,29 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
861
963
  status: !1
862
964
  };
863
965
  }
864
- }, $t = async ({
966
+ }, Gt = async ({
865
967
  clientId: e,
866
968
  userId: t,
867
- nonce: o,
868
- refreshToken: r,
869
- accessToken: a
969
+ nonce: r,
970
+ refreshToken: a,
971
+ accessToken: n
870
972
  }) => {
871
973
  try {
872
- const s = await G({
873
- type: V.AUTHENTICATE,
974
+ const s = await z({
975
+ type: F.AUTHENTICATE,
874
976
  clientId: e,
875
977
  params: {
876
- type: M.REFRESH_TOKEN,
978
+ type: B.REFRESH_TOKEN,
877
979
  userId: t,
878
- nonce: o,
879
- refreshToken: r,
880
- accessToken: a
980
+ nonce: r,
981
+ refreshToken: a,
982
+ accessToken: n
881
983
  }
882
- }), n = await N(s.data.accessToken);
883
- return n && n.payload[f.USER_ID_KEY] !== "" && n.payload[f.NONCE_KEY] === o ? {
984
+ }), o = await H(s.data.accessToken);
985
+ return o && o.payload[f.USER_ID_KEY] !== "" && o.payload[f.NONCE_KEY] === r ? {
884
986
  accessToken: s.data.accessToken,
885
987
  refreshToken: s.data.refreshToken,
886
- userId: n.payload[f.USER_ID_KEY],
988
+ userId: o.payload[f.USER_ID_KEY],
887
989
  status: !0
888
990
  } : {
889
991
  status: !1
@@ -894,8 +996,8 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
894
996
  };
895
997
  }
896
998
  }, j = () => {
897
- throw new Error(Ut);
898
- }, ve = Ne({
999
+ throw new Error(Vt);
1000
+ }, De = Je({
899
1001
  isAuthenticated: !1,
900
1002
  isLoading: !1,
901
1003
  login: j,
@@ -903,135 +1005,144 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
903
1005
  getAccessToken: j,
904
1006
  getIdToken: j,
905
1007
  logoutReason: ""
906
- }), xt = ({
1008
+ }), Zt = ({
907
1009
  children: e,
908
1010
  sessionExpiration: t,
909
- clientId: o
1011
+ clientId: r
910
1012
  }) => {
911
- const [r, a, , s] = J({
912
- key: `${x}::${o}::@@user@@`
913
- }), [n, i, , c] = J({
914
- key: `${x}::${o}::@@access@@`
915
- }), [u, y, , p] = J(
1013
+ const [a, n, , s] = W({
1014
+ key: `${x}::${r}::@@user@@`
1015
+ }), [o, c, , i] = W({
1016
+ key: `${x}::${r}::@@access@@`
1017
+ }), [u, m, , y] = W(
916
1018
  {
917
- key: `${x}::${o}::@@refresh@@`
1019
+ key: `${x}::${r}::@@refresh@@`
918
1020
  }
919
- ), [T, E, , m] = J({
920
- key: `${x}::${o}::@@nonce@@`
921
- }), [v, H] = He({
1021
+ ), [_, E, , w] = W({
1022
+ key: `${x}::${r}::@@nonce@@`
1023
+ }), [k, K] = xe({
922
1024
  isLoading: !0,
923
1025
  isAuthenticated: !1,
924
- userId: "",
1026
+ user: void 0,
925
1027
  logoutReason: ""
926
- }), A = Le(
927
- (w) => {
928
- H({
1028
+ }), A = je(
1029
+ (p) => {
1030
+ K({
929
1031
  isLoading: !1,
930
1032
  isAuthenticated: !1,
931
- userId: "",
932
- logoutReason: w || Q
933
- }), s(), c(), p(), m();
1033
+ user: void 0,
1034
+ logoutReason: p || re
1035
+ }), s(), i(), y(), w();
934
1036
  },
935
- [s, c, m, p]
1037
+ [s, i, w, y]
936
1038
  );
937
- $e(() => {
938
- v.isLoading && r !== null && (async () => {
1039
+ Me(() => {
1040
+ k.isLoading && a !== null && (async () => {
939
1041
  try {
940
- const w = await N(r);
941
- w && w.payload[f.USER_ID_KEY] !== "" ? H({
1042
+ const p = await H(a);
1043
+ p && p.payload[f.USER_ID_KEY] !== "" ? K({
942
1044
  isLoading: !1,
943
1045
  isAuthenticated: !0,
944
- userId: w.payload[f.USER_ID_KEY],
1046
+ user: {
1047
+ userId: p.payload[f.USER_ID_KEY],
1048
+ username: p.payload[f.USERNAME_KEY]
1049
+ },
945
1050
  logoutReason: ""
946
- }) : (A(Q), await Z({
947
- idToken: r,
948
- accessToken: n,
1051
+ }) : (A(re), await ae({
1052
+ idToken: a,
1053
+ accessToken: o,
949
1054
  refreshToken: u,
950
- clientId: o
1055
+ clientId: r
951
1056
  }));
952
1057
  } catch {
953
- A(Q), await Z({
954
- idToken: r,
955
- accessToken: n,
1058
+ A(re), await ae({
1059
+ idToken: a,
1060
+ accessToken: o,
956
1061
  refreshToken: u,
957
- clientId: o
1062
+ clientId: r
958
1063
  });
959
1064
  }
960
1065
  })();
961
1066
  }, [
962
- v.isLoading,
963
- n,
964
- r,
965
- u,
1067
+ k.isLoading,
966
1068
  o,
1069
+ a,
1070
+ u,
1071
+ r,
967
1072
  A
968
1073
  ]);
969
- const Re = async (w, O, R) => {
970
- const k = Pt();
971
- if (E(k), R === M.CODE) {
972
- const { code_verifier: Pe, code_challenge: De } = await bt(), oe = await Lt({
973
- nonce: k,
974
- clientId: o,
975
- code_challenge: De
1074
+ const Ue = async (p, P, R) => {
1075
+ const I = jt();
1076
+ if (E(I), R === B.CODE) {
1077
+ const { code_verifier: $e, code_challenge: Le } = await Kt(), se = await Ft({
1078
+ nonce: I,
1079
+ clientId: r,
1080
+ code_challenge: Le
976
1081
  });
977
- if (oe.status) {
978
- const P = await we({
979
- username: w,
980
- password: O,
981
- clientId: o,
1082
+ if (se.status) {
1083
+ const O = await ge({
1084
+ username: p,
1085
+ password: P,
1086
+ clientId: r,
982
1087
  sessionExpiration: t,
983
- nonce: k,
1088
+ nonce: I,
984
1089
  type: R,
985
- code: oe.code,
986
- code_verifier: Pe
1090
+ code: se.code,
1091
+ code_verifier: $e
987
1092
  });
988
- return P.status ? (a(P.idToken), i(P.accessToken), y(P.refreshToken), H({
1093
+ return O.status ? (n(O.idToken), c(O.accessToken), m(O.refreshToken), K({
989
1094
  isLoading: !1,
990
1095
  isAuthenticated: !0,
991
- userId: P.userId,
1096
+ user: {
1097
+ userId: O.userId,
1098
+ username: p
1099
+ },
992
1100
  logoutReason: ""
993
- }), !0) : (A(ye), !1);
1101
+ }), !0) : (A(Ee), !1);
994
1102
  }
995
1103
  return !1;
996
1104
  }
997
- const S = await we({
998
- username: w,
999
- password: O,
1000
- clientId: o,
1105
+ const S = await ge({
1106
+ username: p,
1107
+ password: P,
1108
+ clientId: r,
1001
1109
  sessionExpiration: t,
1002
- nonce: k,
1110
+ nonce: I,
1003
1111
  type: R
1004
1112
  });
1005
- return S.status ? (a(S.idToken), i(S.accessToken), y(S.refreshToken), H({
1113
+ return S.status ? (n(S.idToken), c(S.accessToken), m(S.refreshToken), K({
1006
1114
  isLoading: !1,
1007
1115
  isAuthenticated: !0,
1008
- userId: S.userId
1009
- }), !0) : (A(ye), !1);
1010
- }, ke = async () => {
1011
- A(Dt), await Z({
1012
- idToken: r,
1013
- accessToken: n,
1116
+ user: {
1117
+ userId: S.userId,
1118
+ username: p
1119
+ }
1120
+ }), !0) : (A(Ee), !1);
1121
+ }, He = async () => {
1122
+ A(Mt), await ae({
1123
+ idToken: a,
1124
+ accessToken: o,
1014
1125
  refreshToken: u,
1015
- clientId: o
1126
+ clientId: r
1016
1127
  });
1017
- }, Ce = async () => {
1018
- const { isAuthenticated: w, userId: O } = v;
1128
+ }, Ke = async () => {
1129
+ const { isAuthenticated: p, user: P } = k;
1019
1130
  try {
1020
- if (w && O && n) {
1021
- const R = await N(n);
1131
+ if (p && P && P.userId && o) {
1132
+ const R = await H(o);
1022
1133
  if (R && R.payload[f.USER_ID_KEY] !== "")
1023
- return n;
1024
- const k = await N(u);
1025
- if (k && k.payload[f.USER_ID_KEY] !== "") {
1026
- const S = await $t({
1027
- clientId: o,
1028
- userId: O,
1029
- nonce: T,
1134
+ return o;
1135
+ const I = await H(u);
1136
+ if (I && I.payload[f.USER_ID_KEY] !== "") {
1137
+ const S = await Gt({
1138
+ clientId: r,
1139
+ userId: P.userId,
1140
+ nonce: _,
1030
1141
  refreshToken: u,
1031
- accessToken: n
1142
+ accessToken: o
1032
1143
  });
1033
1144
  if (S.status)
1034
- return i(S.accessToken), y(S.refreshToken), S.accessToken;
1145
+ return c(S.accessToken), m(S.refreshToken), S.accessToken;
1035
1146
  A(U);
1036
1147
  }
1037
1148
  return A(U), console.error(U), "";
@@ -1039,20 +1150,20 @@ const Q = "Oops! It looks like your session has expired. For your security, plea
1039
1150
  } catch {
1040
1151
  return A(U), console.error(U), "";
1041
1152
  }
1042
- }, Oe = () => {
1043
- if (v.isAuthenticated && r)
1044
- return r;
1153
+ }, Ne = () => {
1154
+ if (k.isAuthenticated && a)
1155
+ return a;
1045
1156
  };
1046
- return /* @__PURE__ */ Ue(
1047
- ve.Provider,
1157
+ return /* @__PURE__ */ We(
1158
+ De.Provider,
1048
1159
  {
1049
- value: { ...v, login: Re, logout: ke, getAccessToken: Ce, getIdToken: Oe },
1160
+ value: { ...k, login: Ue, logout: He, getAccessToken: Ke, getIdToken: Ne },
1050
1161
  children: e
1051
1162
  }
1052
1163
  );
1053
- }, jt = (e = ve) => Ke(e);
1164
+ }, er = (e = De) => Ve(e);
1054
1165
  export {
1055
- M as AUTH_TYPES,
1056
- xt as AuthProvider,
1057
- jt as useAuth
1166
+ B as AUTH_TYPES,
1167
+ Zt as AuthProvider,
1168
+ er as useAuth
1058
1169
  };