@dofe/sso-browser 0.1.45 → 0.1.46
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.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/sso-session.d.ts.map +1 -1
- package/dist/sso-session.js +8 -2
- package/dist/sso-session.js.map +1 -1
- package/dist/use-sso-logout-sync.d.ts +28 -0
- package/dist/use-sso-logout-sync.d.ts.map +1 -0
- package/dist/use-sso-logout-sync.js +81 -0
- package/dist/use-sso-logout-sync.js.map +1 -0
- package/package.json +10 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/sso-browser/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/sso-browser/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./sso-session"), exports);
|
|
18
|
+
__exportStar(require("./use-sso-logout-sync"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/sso-browser/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/sso-browser/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,wDAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-session.d.ts","sourceRoot":"","sources":["../../../packages/sso-browser/src/sso-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sso-session.d.ts","sourceRoot":"","sources":["../../../packages/sso-browser/src/sso-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA2BhC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkDhC;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC"}
|
package/dist/sso-session.js
CHANGED
|
@@ -22,13 +22,16 @@ const DEFAULT_TIMEOUT_MS = 5000;
|
|
|
22
22
|
* @returns Session data if authenticated, null otherwise
|
|
23
23
|
*/
|
|
24
24
|
async function checkSsoSession(config) {
|
|
25
|
-
const { ssoBaseUrl } = config;
|
|
25
|
+
const { ssoBaseUrl, timeoutMs = DEFAULT_TIMEOUT_MS } = config;
|
|
26
|
+
const controller = new AbortController();
|
|
27
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
26
28
|
try {
|
|
27
29
|
const res = await fetch(`${ssoBaseUrl}/auth/session`, {
|
|
28
30
|
method: 'GET',
|
|
29
31
|
credentials: 'include',
|
|
30
32
|
cache: 'no-store',
|
|
31
33
|
mode: 'cors',
|
|
34
|
+
signal: controller.signal,
|
|
32
35
|
});
|
|
33
36
|
if (!res.ok)
|
|
34
37
|
return null;
|
|
@@ -38,9 +41,12 @@ async function checkSsoSession(config) {
|
|
|
38
41
|
return body.data;
|
|
39
42
|
}
|
|
40
43
|
catch {
|
|
41
|
-
// Network error or CORS blocked — fall through to next layer
|
|
44
|
+
// Network error, timeout, or CORS blocked — fall through to next layer
|
|
42
45
|
return null;
|
|
43
46
|
}
|
|
47
|
+
finally {
|
|
48
|
+
clearTimeout(timeout);
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
52
|
* Layer 2: Check SSO session via hidden iframe + postMessage.
|
package/dist/sso-session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-session.js","sourceRoot":"","sources":["../../../packages/sso-browser/src/sso-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AA6CH,
|
|
1
|
+
{"version":3,"file":"sso-session.js","sourceRoot":"","sources":["../../../packages/sso-browser/src/sso-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface SsoLogoutSyncOptions {
|
|
2
|
+
/** Clear local auth tokens and storage. Called when logout is detected. */
|
|
3
|
+
clearAuth: () => void;
|
|
4
|
+
/** Get the login page path for redirect. Called after clearing auth. */
|
|
5
|
+
getLoginPath: () => string;
|
|
6
|
+
/** Check whether the SSO session is still valid. Should return false if not authenticated. */
|
|
7
|
+
checkSession: () => Promise<boolean>;
|
|
8
|
+
/** BroadcastChannel name (default: 'dofe-auth-sync') */
|
|
9
|
+
channelName?: string;
|
|
10
|
+
/** Session check debounce in ms (default: 2000) */
|
|
11
|
+
debounceMs?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* BroadcastChannel-based logout sync + cross-origin session monitoring.
|
|
15
|
+
*
|
|
16
|
+
* Within the same origin (e.g., multiple tabs of the same app):
|
|
17
|
+
* BroadcastChannel notifies sibling tabs when logout occurs.
|
|
18
|
+
*
|
|
19
|
+
* Cross-origin (e.g., logout from a different subdomain while this tab is open):
|
|
20
|
+
* On visibility change (user returns to tab), re-checks SSO session.
|
|
21
|
+
* If the session was cleared, clears local auth and redirects to login.
|
|
22
|
+
*
|
|
23
|
+
* @returns { broadcastLogout } — call BEFORE redirecting to SSO logout
|
|
24
|
+
*/
|
|
25
|
+
export declare function useSsoLogoutSync(options: SsoLogoutSyncOptions): {
|
|
26
|
+
broadcastLogout: () => void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=use-sso-logout-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sso-logout-sync.d.ts","sourceRoot":"","sources":["../../../packages/sso-browser/src/use-sso-logout-sync.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,wEAAwE;IACxE,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB;;EAyE7D"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useSsoLogoutSync = useSsoLogoutSync;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const DEFAULT_CHANNEL_NAME = 'dofe-auth-sync';
|
|
7
|
+
const DEFAULT_DEBOUNCE_MS = 2000;
|
|
8
|
+
/**
|
|
9
|
+
* BroadcastChannel-based logout sync + cross-origin session monitoring.
|
|
10
|
+
*
|
|
11
|
+
* Within the same origin (e.g., multiple tabs of the same app):
|
|
12
|
+
* BroadcastChannel notifies sibling tabs when logout occurs.
|
|
13
|
+
*
|
|
14
|
+
* Cross-origin (e.g., logout from a different subdomain while this tab is open):
|
|
15
|
+
* On visibility change (user returns to tab), re-checks SSO session.
|
|
16
|
+
* If the session was cleared, clears local auth and redirects to login.
|
|
17
|
+
*
|
|
18
|
+
* @returns { broadcastLogout } — call BEFORE redirecting to SSO logout
|
|
19
|
+
*/
|
|
20
|
+
function useSsoLogoutSync(options) {
|
|
21
|
+
const { clearAuth, getLoginPath, checkSession, channelName = DEFAULT_CHANNEL_NAME, debounceMs = DEFAULT_DEBOUNCE_MS, } = options;
|
|
22
|
+
const lastCheckRef = (0, react_1.useRef)(0);
|
|
23
|
+
const intentionalRef = (0, react_1.useRef)(false);
|
|
24
|
+
const handleDetectedLogout = (0, react_1.useCallback)(() => {
|
|
25
|
+
clearAuth();
|
|
26
|
+
window.location.replace(getLoginPath());
|
|
27
|
+
}, [clearAuth, getLoginPath]);
|
|
28
|
+
const broadcastLogout = (0, react_1.useCallback)(() => {
|
|
29
|
+
intentionalRef.current = true;
|
|
30
|
+
try {
|
|
31
|
+
const channel = new BroadcastChannel(channelName);
|
|
32
|
+
channel.postMessage({ type: 'LOGOUT', ts: Date.now() });
|
|
33
|
+
channel.close();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// BroadcastChannel not supported
|
|
37
|
+
}
|
|
38
|
+
}, [channelName]);
|
|
39
|
+
(0, react_1.useEffect)(() => {
|
|
40
|
+
let channel = null;
|
|
41
|
+
try {
|
|
42
|
+
channel = new BroadcastChannel(channelName);
|
|
43
|
+
channel.onmessage = (event) => {
|
|
44
|
+
// Don't react to our own broadcast
|
|
45
|
+
if (intentionalRef.current)
|
|
46
|
+
return;
|
|
47
|
+
if (event.data?.type === 'LOGOUT') {
|
|
48
|
+
handleDetectedLogout();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// BroadcastChannel not available
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* On visibility change, verify SSO session is still valid.
|
|
57
|
+
* Handles the case where user logged out from a DIFFERENT subdomain.
|
|
58
|
+
*/
|
|
59
|
+
const handleVisibilityChange = async () => {
|
|
60
|
+
if (document.visibilityState !== 'visible')
|
|
61
|
+
return;
|
|
62
|
+
const now = Date.now();
|
|
63
|
+
if (now - lastCheckRef.current < debounceMs)
|
|
64
|
+
return;
|
|
65
|
+
lastCheckRef.current = now;
|
|
66
|
+
const hasSession = await checkSession();
|
|
67
|
+
if (!hasSession) {
|
|
68
|
+
handleDetectedLogout();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
|
72
|
+
return () => {
|
|
73
|
+
if (channel) {
|
|
74
|
+
channel.close();
|
|
75
|
+
}
|
|
76
|
+
document.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
77
|
+
};
|
|
78
|
+
}, [clearAuth, getLoginPath, checkSession, channelName, debounceMs, handleDetectedLogout]);
|
|
79
|
+
return { broadcastLogout };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=use-sso-logout-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sso-logout-sync.js","sourceRoot":"","sources":["../../../packages/sso-browser/src/use-sso-logout-sync.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAgCb,4CAyEC;AAvGD,iCAAuD;AAEvD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAejC;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,OAA6B;IAC5D,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,GAAG,oBAAoB,EAClC,UAAU,GAAG,mBAAmB,GACjC,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,IAAA,cAAM,EAAS,CAAC,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,cAAM,EAAU,KAAK,CAAC,CAAC;IAE9C,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC5C,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9B,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACvC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAA4B,IAAI,CAAC;QAE5C,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAE5C,OAAO,CAAC,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;gBAC1C,mCAAmC;gBACnC,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,oBAAoB,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QAED;;;WAGG;QACH,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;YACxC,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;gBAAE,OAAO;YAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,GAAG,UAAU;gBAAE,OAAO;YACpD,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC;YAE3B,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,oBAAoB,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAEtE,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;YACD,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAC3E,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE3F,OAAO,EAAE,eAAe,EAAE,CAAC;AAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dofe/sso-browser",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -11,9 +11,18 @@
|
|
|
11
11
|
"./sso-session": {
|
|
12
12
|
"types": "./dist/sso-session.d.ts",
|
|
13
13
|
"default": "./dist/sso-session.js"
|
|
14
|
+
},
|
|
15
|
+
"./use-sso-logout-sync": {
|
|
16
|
+
"types": "./dist/use-sso-logout-sync.d.ts",
|
|
17
|
+
"default": "./dist/use-sso-logout-sync.js"
|
|
14
18
|
}
|
|
15
19
|
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"react": ">=18"
|
|
22
|
+
},
|
|
16
23
|
"devDependencies": {
|
|
24
|
+
"@types/react": "^19.2.14",
|
|
25
|
+
"react": "^19.2.6",
|
|
17
26
|
"rimraf": "^6.1.3",
|
|
18
27
|
"typescript": "^6.0.3"
|
|
19
28
|
},
|