@spidy092/auth-client 3.1.4 → 3.1.6
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/api.cjs +11 -0
- package/dist/api.cjs.map +1 -1
- package/dist/api.js +11 -0
- package/dist/api.js.map +1 -1
- package/dist/index.cjs +47 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +47 -4
- package/dist/index.js.map +1 -1
- package/dist/preferences.cjs +11 -0
- package/dist/preferences.cjs.map +1 -1
- package/dist/preferences.js +11 -0
- package/dist/preferences.js.map +1 -1
- package/dist/react/AuthProvider.cjs +32 -4
- package/dist/react/AuthProvider.cjs.map +1 -1
- package/dist/react/AuthProvider.js +32 -4
- package/dist/react/AuthProvider.js.map +1 -1
- package/dist/react/PreferencesProvider.cjs +11 -0
- package/dist/react/PreferencesProvider.cjs.map +1 -1
- package/dist/react/PreferencesProvider.js +11 -0
- package/dist/react/PreferencesProvider.js.map +1 -1
- package/dist/react/useAuth.cjs.map +1 -1
- package/dist/react/useAuth.js.map +1 -1
- package/dist/react/useSessionMonitor.cjs +38 -1
- package/dist/react/useSessionMonitor.cjs.map +1 -1
- package/dist/react/useSessionMonitor.js +38 -1
- package/dist/react/useSessionMonitor.js.map +1 -1
- package/dist/utils/jwt.cjs.map +1 -1
- package/dist/utils/jwt.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,10 @@ import { useEffect as useEffect3, useCallback } from "react";
|
|
|
5
5
|
// token.js
|
|
6
6
|
import { jwtDecode } from "jwt-decode";
|
|
7
7
|
var accessToken = null;
|
|
8
|
+
var idToken = null;
|
|
8
9
|
var listeners = /* @__PURE__ */ new Set();
|
|
9
10
|
var REFRESH_COOKIE = "account_refresh_token";
|
|
11
|
+
var ID_TOKEN_KEY = "auth_id_token";
|
|
10
12
|
var COOKIE_MAX_AGE = 7 * 24 * 60 * 60;
|
|
11
13
|
function secureAttribute() {
|
|
12
14
|
var _a;
|
|
@@ -85,12 +87,14 @@ function getToken() {
|
|
|
85
87
|
function clearToken() {
|
|
86
88
|
if (!accessToken) {
|
|
87
89
|
writeAccessToken(null);
|
|
90
|
+
clearIdToken();
|
|
88
91
|
clearRefreshToken();
|
|
89
92
|
return;
|
|
90
93
|
}
|
|
91
94
|
const previousToken = accessToken;
|
|
92
95
|
accessToken = null;
|
|
93
96
|
writeAccessToken(null);
|
|
97
|
+
clearIdToken();
|
|
94
98
|
clearRefreshToken();
|
|
95
99
|
listeners.forEach((listener) => {
|
|
96
100
|
try {
|
|
@@ -100,6 +104,30 @@ function clearToken() {
|
|
|
100
104
|
}
|
|
101
105
|
});
|
|
102
106
|
}
|
|
107
|
+
function setIdToken(token) {
|
|
108
|
+
idToken = token || null;
|
|
109
|
+
try {
|
|
110
|
+
if (idToken) sessionStorage.setItem(ID_TOKEN_KEY, idToken);
|
|
111
|
+
else sessionStorage.removeItem(ID_TOKEN_KEY);
|
|
112
|
+
} catch {
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function getIdToken() {
|
|
116
|
+
if (idToken) return idToken;
|
|
117
|
+
try {
|
|
118
|
+
idToken = sessionStorage.getItem(ID_TOKEN_KEY) || null;
|
|
119
|
+
} catch {
|
|
120
|
+
idToken = null;
|
|
121
|
+
}
|
|
122
|
+
return idToken;
|
|
123
|
+
}
|
|
124
|
+
function clearIdToken() {
|
|
125
|
+
idToken = null;
|
|
126
|
+
try {
|
|
127
|
+
sessionStorage.removeItem(ID_TOKEN_KEY);
|
|
128
|
+
} catch {
|
|
129
|
+
}
|
|
130
|
+
}
|
|
103
131
|
var REFRESH_TOKEN_KEY = "auth_refresh_token";
|
|
104
132
|
var _persistRefreshToken = false;
|
|
105
133
|
function enableRefreshTokenPersistence(enabled) {
|
|
@@ -445,6 +473,7 @@ async function logout(options = {}) {
|
|
|
445
473
|
const { clientKey, authBaseUrl, accountUiUrl } = getConfig();
|
|
446
474
|
const scope = options.scope === "client" ? "client" : "sso";
|
|
447
475
|
const token = getToken();
|
|
476
|
+
const idToken2 = getIdToken();
|
|
448
477
|
const refreshToken2 = getRefreshToken();
|
|
449
478
|
console.log("\u{1F6AA} Smart Logout initiated", {
|
|
450
479
|
mode: isRouterMode() ? "ROUTER" : "CLIENT",
|
|
@@ -453,6 +482,7 @@ async function logout(options = {}) {
|
|
|
453
482
|
});
|
|
454
483
|
emitAuthDiagnostic("LOGOUT_INITIATED", "PENDING", "NONE", { clientKey });
|
|
455
484
|
clearToken();
|
|
485
|
+
clearIdToken();
|
|
456
486
|
clearRefreshToken();
|
|
457
487
|
sessionStorage.removeItem("originalApp");
|
|
458
488
|
sessionStorage.removeItem("returnUrl");
|
|
@@ -465,7 +495,7 @@ async function logout(options = {}) {
|
|
|
465
495
|
"Authorization": token ? `Bearer ${token}` : "",
|
|
466
496
|
"Content-Type": "application/json"
|
|
467
497
|
},
|
|
468
|
-
body: JSON.stringify({ refreshToken: refreshToken2, scope })
|
|
498
|
+
body: JSON.stringify({ refreshToken: refreshToken2, idToken: idToken2, scope })
|
|
469
499
|
});
|
|
470
500
|
if (!response.ok) {
|
|
471
501
|
throw new Error(`Logout failed: ${response.status}`);
|
|
@@ -499,9 +529,11 @@ async function logout(options = {}) {
|
|
|
499
529
|
function handleCallback() {
|
|
500
530
|
const params = new URLSearchParams(window.location.search);
|
|
501
531
|
const accessToken2 = params.get("access_token");
|
|
532
|
+
const idToken2 = params.get("id_token");
|
|
502
533
|
const error = params.get("error");
|
|
503
534
|
console.log("\u{1F504} Callback handling:", {
|
|
504
535
|
hasAccessToken: !!accessToken2,
|
|
536
|
+
hasIdToken: !!idToken2,
|
|
505
537
|
error
|
|
506
538
|
});
|
|
507
539
|
if (callbackProcessed) {
|
|
@@ -529,6 +561,7 @@ function handleCallback() {
|
|
|
529
561
|
}
|
|
530
562
|
if (accessToken2) {
|
|
531
563
|
setToken(accessToken2);
|
|
564
|
+
if (idToken2) setIdToken(idToken2);
|
|
532
565
|
const refreshTokenInUrl = params.get("refresh_token");
|
|
533
566
|
if (refreshTokenInUrl) {
|
|
534
567
|
emitAuthDiagnostic("CALLBACK_REFRESH_TOKEN_IGNORED", "WARNING", "REFRESH_TOKEN_IN_URL", {
|
|
@@ -537,6 +570,7 @@ function handleCallback() {
|
|
|
537
570
|
}
|
|
538
571
|
const url = new URL(window.location);
|
|
539
572
|
url.searchParams.delete("access_token");
|
|
573
|
+
url.searchParams.delete("id_token");
|
|
540
574
|
url.searchParams.delete("refresh_token");
|
|
541
575
|
url.searchParams.delete("state");
|
|
542
576
|
url.searchParams.delete("error");
|
|
@@ -1241,6 +1275,9 @@ var auth = {
|
|
|
1241
1275
|
getToken,
|
|
1242
1276
|
setToken,
|
|
1243
1277
|
clearToken,
|
|
1278
|
+
setIdToken,
|
|
1279
|
+
getIdToken,
|
|
1280
|
+
clearIdToken,
|
|
1244
1281
|
setRefreshToken,
|
|
1245
1282
|
// ✅ Refresh token for HTTP dev
|
|
1246
1283
|
getRefreshToken,
|