@versini/auth-provider 6.3.1 → 6.3.2
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 +56 -53
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
var _t = Object.defineProperty;
|
|
2
2
|
var vt = (e, t, n) => t in e ? _t(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
3
|
var z = (e, t, n) => vt(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
|
-
import { jsx as
|
|
5
|
-
import
|
|
4
|
+
import { jsx as Pe } from "react/jsx-runtime";
|
|
5
|
+
import Pt, { useSyncExternalStore as kt, useCallback as W, useEffect as Te, createContext as Ct, useReducer as Ot, useRef as ke, useContext as Nt } from "react";
|
|
6
6
|
/*!
|
|
7
|
-
@versini/auth-provider v6.3.
|
|
7
|
+
@versini/auth-provider v6.3.2
|
|
8
8
|
© 2024 gizmette.com
|
|
9
9
|
*/
|
|
10
10
|
try {
|
|
11
11
|
window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
|
|
12
|
-
version: "6.3.
|
|
13
|
-
buildTime: "07/
|
|
12
|
+
version: "6.3.2",
|
|
13
|
+
buildTime: "07/23/2024 01:37 PM EDT",
|
|
14
14
|
homepage: "https://github.com/aversini/auth-client",
|
|
15
15
|
license: "MIT"
|
|
16
16
|
});
|
|
@@ -311,7 +311,7 @@ async function Wt(e, t = !1) {
|
|
|
311
311
|
try {
|
|
312
312
|
window.__VERSINI_AUTH_COMMON__ || (window.__VERSINI_AUTH_COMMON__ = {
|
|
313
313
|
version: "3.3.0",
|
|
314
|
-
buildTime: "07/
|
|
314
|
+
buildTime: "07/23/2024 01:36 PM EDT",
|
|
315
315
|
homepage: "https://github.com/aversini/auth-client",
|
|
316
316
|
license: "MIT"
|
|
317
317
|
});
|
|
@@ -386,7 +386,7 @@ let D = class extends Error {
|
|
|
386
386
|
constructor(t, n, r = "unspecified", a = "unspecified") {
|
|
387
387
|
super(t), this.code = "ERR_JWT_CLAIM_VALIDATION_FAILED", this.claim = r, this.reason = a, this.payload = n;
|
|
388
388
|
}
|
|
389
|
-
},
|
|
389
|
+
}, Ce = class extends D {
|
|
390
390
|
static get code() {
|
|
391
391
|
return "ERR_JWT_EXPIRED";
|
|
392
392
|
}
|
|
@@ -418,7 +418,7 @@ class A extends D {
|
|
|
418
418
|
return "ERR_JWS_INVALID";
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
|
-
let
|
|
421
|
+
let k = class extends D {
|
|
422
422
|
constructor() {
|
|
423
423
|
super(...arguments), this.code = "ERR_JWT_INVALID";
|
|
424
424
|
}
|
|
@@ -434,7 +434,7 @@ class Yt extends D {
|
|
|
434
434
|
return "ERR_JWS_SIGNATURE_VERIFICATION_FAILED";
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
|
-
function
|
|
437
|
+
function P(e, t = "algorithm.name") {
|
|
438
438
|
return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);
|
|
439
439
|
}
|
|
440
440
|
function X(e, t) {
|
|
@@ -471,45 +471,45 @@ function Ft(e, t, ...n) {
|
|
|
471
471
|
case "HS384":
|
|
472
472
|
case "HS512": {
|
|
473
473
|
if (!X(e.algorithm, "HMAC"))
|
|
474
|
-
throw
|
|
474
|
+
throw P("HMAC");
|
|
475
475
|
const r = parseInt(t.slice(2), 10);
|
|
476
476
|
if (ye(e.algorithm.hash) !== r)
|
|
477
|
-
throw
|
|
477
|
+
throw P(`SHA-${r}`, "algorithm.hash");
|
|
478
478
|
break;
|
|
479
479
|
}
|
|
480
480
|
case "RS256":
|
|
481
481
|
case "RS384":
|
|
482
482
|
case "RS512": {
|
|
483
483
|
if (!X(e.algorithm, "RSASSA-PKCS1-v1_5"))
|
|
484
|
-
throw
|
|
484
|
+
throw P("RSASSA-PKCS1-v1_5");
|
|
485
485
|
const r = parseInt(t.slice(2), 10);
|
|
486
486
|
if (ye(e.algorithm.hash) !== r)
|
|
487
|
-
throw
|
|
487
|
+
throw P(`SHA-${r}`, "algorithm.hash");
|
|
488
488
|
break;
|
|
489
489
|
}
|
|
490
490
|
case "PS256":
|
|
491
491
|
case "PS384":
|
|
492
492
|
case "PS512": {
|
|
493
493
|
if (!X(e.algorithm, "RSA-PSS"))
|
|
494
|
-
throw
|
|
494
|
+
throw P("RSA-PSS");
|
|
495
495
|
const r = parseInt(t.slice(2), 10);
|
|
496
496
|
if (ye(e.algorithm.hash) !== r)
|
|
497
|
-
throw
|
|
497
|
+
throw P(`SHA-${r}`, "algorithm.hash");
|
|
498
498
|
break;
|
|
499
499
|
}
|
|
500
500
|
case "EdDSA": {
|
|
501
501
|
if (e.algorithm.name !== "Ed25519" && e.algorithm.name !== "Ed448")
|
|
502
|
-
throw
|
|
502
|
+
throw P("Ed25519 or Ed448");
|
|
503
503
|
break;
|
|
504
504
|
}
|
|
505
505
|
case "ES256":
|
|
506
506
|
case "ES384":
|
|
507
507
|
case "ES512": {
|
|
508
508
|
if (!X(e.algorithm, "ECDSA"))
|
|
509
|
-
throw
|
|
509
|
+
throw P("ECDSA");
|
|
510
510
|
const r = Vt(t);
|
|
511
511
|
if (e.algorithm.namedCurve !== r)
|
|
512
|
-
throw
|
|
512
|
+
throw P(r, "algorithm.namedCurve");
|
|
513
513
|
break;
|
|
514
514
|
}
|
|
515
515
|
default:
|
|
@@ -669,28 +669,28 @@ const et = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject",
|
|
|
669
669
|
return n.k ? Ze(n.k) : (ge || (ge = /* @__PURE__ */ new WeakMap()), tt(ge, e, n, t));
|
|
670
670
|
}
|
|
671
671
|
return e;
|
|
672
|
-
}, tn = { normalizePublicKey: Zt, normalizePrivateKey: en },
|
|
672
|
+
}, tn = { normalizePublicKey: Zt, normalizePrivateKey: en }, C = (e, t, n = 0) => {
|
|
673
673
|
n === 0 && (t.unshift(t.length), t.unshift(6));
|
|
674
674
|
const r = e.indexOf(t[0], n);
|
|
675
675
|
if (r === -1)
|
|
676
676
|
return !1;
|
|
677
677
|
const a = e.subarray(r, r + t.length);
|
|
678
|
-
return a.length !== t.length ? !1 : a.every((s, o) => s === t[o]) ||
|
|
678
|
+
return a.length !== t.length ? !1 : a.every((s, o) => s === t[o]) || C(e, t, r + 1);
|
|
679
679
|
}, Ne = (e) => {
|
|
680
680
|
switch (!0) {
|
|
681
|
-
case
|
|
681
|
+
case C(e, [42, 134, 72, 206, 61, 3, 1, 7]):
|
|
682
682
|
return "P-256";
|
|
683
|
-
case
|
|
683
|
+
case C(e, [43, 129, 4, 0, 34]):
|
|
684
684
|
return "P-384";
|
|
685
|
-
case
|
|
685
|
+
case C(e, [43, 129, 4, 0, 35]):
|
|
686
686
|
return "P-521";
|
|
687
|
-
case
|
|
687
|
+
case C(e, [43, 101, 110]):
|
|
688
688
|
return "X25519";
|
|
689
|
-
case
|
|
689
|
+
case C(e, [43, 101, 111]):
|
|
690
690
|
return "X448";
|
|
691
|
-
case
|
|
691
|
+
case C(e, [43, 101, 112]):
|
|
692
692
|
return "Ed25519";
|
|
693
|
-
case
|
|
693
|
+
case C(e, [43, 101, 113]):
|
|
694
694
|
return "Ed448";
|
|
695
695
|
default:
|
|
696
696
|
throw new O("Invalid or unsupported EC Key Curve or OKP Key Sub Type");
|
|
@@ -959,7 +959,7 @@ const gn = (e) => Math.floor(e.getTime() / 1e3), nt = 60, rt = nt * 60, be = rt
|
|
|
959
959
|
} catch {
|
|
960
960
|
}
|
|
961
961
|
if (!ue(r))
|
|
962
|
-
throw new
|
|
962
|
+
throw new k("JWT Claims Set must be a top-level JSON object");
|
|
963
963
|
const { typ: a } = n;
|
|
964
964
|
if (a && (typeof e.typ != "string" || Ue(e.typ) !== Ue(a)))
|
|
965
965
|
throw new _('unexpected "typ" JWT header value', r, "typ", "check_failed");
|
|
@@ -1001,12 +1001,12 @@ const gn = (e) => Math.floor(e.getTime() / 1e3), nt = 60, rt = nt * 60, be = rt
|
|
|
1001
1001
|
if (typeof r.exp != "number")
|
|
1002
1002
|
throw new _('"exp" claim must be a number', r, "exp", "invalid");
|
|
1003
1003
|
if (r.exp <= u - p)
|
|
1004
|
-
throw new
|
|
1004
|
+
throw new Ce('"exp" claim timestamp check failed', r, "exp", "check_failed");
|
|
1005
1005
|
}
|
|
1006
1006
|
if (y) {
|
|
1007
1007
|
const d = u - r.iat, g = typeof y == "number" ? y : De(y);
|
|
1008
1008
|
if (d - p > g)
|
|
1009
|
-
throw new
|
|
1009
|
+
throw new Ce('"iat" claim timestamp check failed (too far in the past)', r, "iat", "check_failed");
|
|
1010
1010
|
if (d < 0 - p)
|
|
1011
1011
|
throw new _('"iat" claim timestamp check failed (it should be in the past)', r, "iat", "check_failed");
|
|
1012
1012
|
}
|
|
@@ -1016,35 +1016,35 @@ async function Tn(e, t, n) {
|
|
|
1016
1016
|
var r;
|
|
1017
1017
|
const a = await yn(e, t, n);
|
|
1018
1018
|
if ((r = a.protectedHeader.crit) != null && r.includes("b64") && a.protectedHeader.b64 === !1)
|
|
1019
|
-
throw new
|
|
1019
|
+
throw new k("JWTs MUST NOT use unencoded payload");
|
|
1020
1020
|
const s = { payload: An(a.protectedHeader, a.payload, n), protectedHeader: a.protectedHeader };
|
|
1021
1021
|
return typeof t == "function" ? { ...s, key: a.key } : s;
|
|
1022
1022
|
}
|
|
1023
1023
|
const Rn = V;
|
|
1024
1024
|
function bn(e) {
|
|
1025
1025
|
if (typeof e != "string")
|
|
1026
|
-
throw new
|
|
1026
|
+
throw new k("JWTs must use Compact JWS serialization, JWT must be a string");
|
|
1027
1027
|
const { 1: t, length: n } = e.split(".");
|
|
1028
1028
|
if (n === 5)
|
|
1029
|
-
throw new
|
|
1029
|
+
throw new k("Only JWTs using Compact JWS serialization can be decoded");
|
|
1030
1030
|
if (n !== 3)
|
|
1031
|
-
throw new
|
|
1031
|
+
throw new k("Invalid JWT");
|
|
1032
1032
|
if (!t)
|
|
1033
|
-
throw new
|
|
1033
|
+
throw new k("JWTs must contain a payload");
|
|
1034
1034
|
let r;
|
|
1035
1035
|
try {
|
|
1036
1036
|
r = Rn(t);
|
|
1037
1037
|
} catch {
|
|
1038
|
-
throw new
|
|
1038
|
+
throw new k("Failed to base64url decode the payload");
|
|
1039
1039
|
}
|
|
1040
1040
|
let a;
|
|
1041
1041
|
try {
|
|
1042
1042
|
a = JSON.parse(F.decode(r));
|
|
1043
1043
|
} catch {
|
|
1044
|
-
throw new
|
|
1044
|
+
throw new k("Failed to parse the decoded payload as JSON");
|
|
1045
1045
|
}
|
|
1046
1046
|
if (!ue(a))
|
|
1047
|
-
throw new
|
|
1047
|
+
throw new k("Invalid JWT Claims Set");
|
|
1048
1048
|
return a;
|
|
1049
1049
|
}
|
|
1050
1050
|
const x = async (e) => {
|
|
@@ -1070,23 +1070,23 @@ function _n(e, t = 0) {
|
|
|
1070
1070
|
return (E[e[t + 0]] + E[e[t + 1]] + E[e[t + 2]] + E[e[t + 3]] + "-" + E[e[t + 4]] + E[e[t + 5]] + "-" + E[e[t + 6]] + E[e[t + 7]] + "-" + E[e[t + 8]] + E[e[t + 9]] + "-" + E[e[t + 10]] + E[e[t + 11]] + E[e[t + 12]] + E[e[t + 13]] + E[e[t + 14]] + E[e[t + 15]]).toLowerCase();
|
|
1071
1071
|
}
|
|
1072
1072
|
var Z, vn = new Uint8Array(16);
|
|
1073
|
-
function
|
|
1073
|
+
function Pn() {
|
|
1074
1074
|
if (!Z && (Z = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Z))
|
|
1075
1075
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
1076
1076
|
return Z(vn);
|
|
1077
1077
|
}
|
|
1078
|
-
var
|
|
1078
|
+
var kn = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
1079
1079
|
const $e = {
|
|
1080
|
-
randomUUID:
|
|
1080
|
+
randomUUID: kn
|
|
1081
1081
|
};
|
|
1082
1082
|
function Ke(e, t, n) {
|
|
1083
1083
|
if ($e.randomUUID && !t && !e)
|
|
1084
1084
|
return $e.randomUUID();
|
|
1085
1085
|
e = e || {};
|
|
1086
|
-
var r = e.random || (e.rng ||
|
|
1086
|
+
var r = e.random || (e.rng || Pn)();
|
|
1087
1087
|
return r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, _n(r);
|
|
1088
1088
|
}
|
|
1089
|
-
const He = globalThis.crypto,
|
|
1089
|
+
const He = globalThis.crypto, Cn = (e) => `${Ke()}${Ke()}`.slice(0, e), On = (e) => btoa(
|
|
1090
1090
|
[...new Uint8Array(e)].map((t) => String.fromCharCode(t)).join("")
|
|
1091
1091
|
);
|
|
1092
1092
|
async function Nn(e) {
|
|
@@ -1098,13 +1098,13 @@ async function Nn(e) {
|
|
|
1098
1098
|
return On(n).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
1099
1099
|
}
|
|
1100
1100
|
async function Dn(e) {
|
|
1101
|
-
const n =
|
|
1101
|
+
const n = Cn(43), r = await Nn(n);
|
|
1102
1102
|
return {
|
|
1103
1103
|
code_verifier: n,
|
|
1104
1104
|
code_challenge: r
|
|
1105
1105
|
};
|
|
1106
1106
|
}
|
|
1107
|
-
const
|
|
1107
|
+
const Cr = async (e, t) => {
|
|
1108
1108
|
var n;
|
|
1109
1109
|
const r = await x(e);
|
|
1110
1110
|
if (!r || !Array.isArray((n = r.payload) == null ? void 0 : n[T.SCOPES_KEY]))
|
|
@@ -1129,7 +1129,7 @@ function ee({
|
|
|
1129
1129
|
key: e,
|
|
1130
1130
|
initialValue: t
|
|
1131
1131
|
}) {
|
|
1132
|
-
const n =
|
|
1132
|
+
const n = kt($n, () => We(e)), r = W(
|
|
1133
1133
|
(o) => {
|
|
1134
1134
|
try {
|
|
1135
1135
|
const i = typeof o == "function" ? o(JSON.parse(n)) : o;
|
|
@@ -1721,7 +1721,6 @@ const cr = async (e) => {
|
|
|
1721
1721
|
alg
|
|
1722
1722
|
}
|
|
1723
1723
|
timeout
|
|
1724
|
-
|
|
1725
1724
|
attestation
|
|
1726
1725
|
}
|
|
1727
1726
|
}`,
|
|
@@ -1748,7 +1747,11 @@ const cr = async (e) => {
|
|
|
1748
1747
|
clientId: $clientId) {
|
|
1749
1748
|
rpId,
|
|
1750
1749
|
challenge,
|
|
1751
|
-
allowCredentials
|
|
1750
|
+
allowCredentials {
|
|
1751
|
+
id,
|
|
1752
|
+
type,
|
|
1753
|
+
transports
|
|
1754
|
+
}
|
|
1752
1755
|
timeout,
|
|
1753
1756
|
userVerification,
|
|
1754
1757
|
}
|
|
@@ -1895,7 +1898,7 @@ const Er = (e) => W(
|
|
|
1895
1898
|
[e]
|
|
1896
1899
|
), L = () => {
|
|
1897
1900
|
throw new Error(hr);
|
|
1898
|
-
}, yt =
|
|
1901
|
+
}, yt = Ct({
|
|
1899
1902
|
isAuthenticated: !1,
|
|
1900
1903
|
isLoading: !1,
|
|
1901
1904
|
authenticationType: null,
|
|
@@ -1906,7 +1909,7 @@ const Er = (e) => W(
|
|
|
1906
1909
|
registeringForPasskey: L,
|
|
1907
1910
|
loginWithPasskey: L,
|
|
1908
1911
|
logoutReason: ""
|
|
1909
|
-
}), Sr =
|
|
1912
|
+
}), Sr = Pt.createContext({
|
|
1910
1913
|
state: {
|
|
1911
1914
|
isLoading: !0,
|
|
1912
1915
|
isAuthenticated: !1,
|
|
@@ -1948,7 +1951,7 @@ const Er = (e) => W(
|
|
|
1948
1951
|
user: void 0,
|
|
1949
1952
|
logoutReason: "",
|
|
1950
1953
|
debug: a
|
|
1951
|
-
}), i = Er(a), l =
|
|
1954
|
+
}), i = Er(a), l = ke(!1), y = ke(""), [h, p, , m] = ee({
|
|
1952
1955
|
key: `${ae}::${n}::@@user@@`
|
|
1953
1956
|
}), [u, d, , g] = ee({
|
|
1954
1957
|
key: `${ae}::${n}::@@access@@`
|
|
@@ -2201,7 +2204,7 @@ const Er = (e) => W(
|
|
|
2201
2204
|
}), U(re), !1;
|
|
2202
2205
|
}
|
|
2203
2206
|
};
|
|
2204
|
-
return /* @__PURE__ */
|
|
2207
|
+
return /* @__PURE__ */ Pe(Sr.Provider, { value: { state: s, dispatch: o }, children: /* @__PURE__ */ Pe(
|
|
2205
2208
|
yt.Provider,
|
|
2206
2209
|
{
|
|
2207
2210
|
value: {
|
|
@@ -2220,6 +2223,6 @@ const Er = (e) => W(
|
|
|
2220
2223
|
export {
|
|
2221
2224
|
j as AUTH_TYPES,
|
|
2222
2225
|
Or as AuthProvider,
|
|
2223
|
-
|
|
2226
|
+
Cr as isGranted,
|
|
2224
2227
|
Nr as useAuth
|
|
2225
2228
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versini/auth-provider",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Arno Versini",
|
|
6
6
|
"publishConfig": {
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"jose": "5.6.3",
|
|
52
52
|
"uuid": "10.0.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "0780e65cbf264fd252534cbaae6a6e6ec86b228c"
|
|
55
55
|
}
|