@ogcio/sag-client 0.7.10 → 0.7.11
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/auth.d.ts.map +1 -1
- package/dist/auth.js +42 -4
- package/dist/auth.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA0BrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAUjC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAc7B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAUlB;AA2BD,wBAAgB,wBAAwB,IAAI,OAAO,CAKlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAuDD;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI,CAMN"}
|
package/dist/auth.js
CHANGED
|
@@ -26,7 +26,13 @@ export async function checkAuth(gatewayUrl, appName) {
|
|
|
26
26
|
credentials: "include",
|
|
27
27
|
cache: "no-store",
|
|
28
28
|
});
|
|
29
|
-
|
|
29
|
+
const status = (await res.json());
|
|
30
|
+
// The only place the client learns whether a session is actually live,
|
|
31
|
+
// so it is where the repeat-sign-in marker is aged (AB#42515).
|
|
32
|
+
const observed = status.authenticated ? status.app : appName;
|
|
33
|
+
if (observed)
|
|
34
|
+
recordSessionObservation(observed, status.authenticated);
|
|
35
|
+
return status;
|
|
30
36
|
}
|
|
31
37
|
catch (error) {
|
|
32
38
|
// A full-page navigation (e.g. the sign-in redirect) aborts this fetch;
|
|
@@ -179,24 +185,56 @@ export function sessionExpiredMessage() {
|
|
|
179
185
|
}
|
|
180
186
|
const SIGN_IN_ATTEMPT_KEY = "sag-sign-in-attempt:";
|
|
181
187
|
const SIGN_IN_RETRY_WINDOW_MS = 10000;
|
|
188
|
+
/** Marker suffix: this attempt was seen to bring a session up. */
|
|
189
|
+
const SESSION_ESTABLISHED = ":established";
|
|
190
|
+
/**
|
|
191
|
+
* Record what `/auth/status` just said about an app, against its sign-in marker.
|
|
192
|
+
*
|
|
193
|
+
* A session seen up and then gone was evicted behind the shared `logto_session`
|
|
194
|
+
* cookie — another zone signed in — so this app's re-authentication is the
|
|
195
|
+
* repair, not a loop, and the marker must not suppress it. An attempt never
|
|
196
|
+
* seen to establish a session stays marked: retrying that is the loop.
|
|
197
|
+
*/
|
|
198
|
+
function recordSessionObservation(app, authenticated) {
|
|
199
|
+
try {
|
|
200
|
+
const key = `${SIGN_IN_ATTEMPT_KEY}${app}`;
|
|
201
|
+
const marker = sessionStorage.getItem(key);
|
|
202
|
+
if (!marker)
|
|
203
|
+
return;
|
|
204
|
+
const established = marker.endsWith(SESSION_ESTABLISHED);
|
|
205
|
+
if (authenticated && !established) {
|
|
206
|
+
sessionStorage.setItem(key, `${marker}${SESSION_ESTABLISHED}`);
|
|
207
|
+
}
|
|
208
|
+
else if (!authenticated && established) {
|
|
209
|
+
sessionStorage.removeItem(key);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (_a) {
|
|
213
|
+
// Storage blocked (private mode); there is no marker to age either.
|
|
214
|
+
}
|
|
215
|
+
}
|
|
182
216
|
/**
|
|
183
217
|
* The gateway returns 401 both for its own dead session and for an upstream
|
|
184
218
|
* that rejected a valid token, so signing in cannot always clear one. Without
|
|
185
219
|
* this the client re-signs-in, comes back, 401s again, and reload-loops.
|
|
186
220
|
* sessionStorage survives the round trip that clears the document; per-app so
|
|
187
|
-
* crossing zones is never blocked
|
|
221
|
+
* crossing zones is never blocked, and dropped once the session this attempt
|
|
222
|
+
* established is observed gone, so returning to an evicted app can re-auth.
|
|
188
223
|
*/
|
|
189
224
|
function signInAttemptedRecently(app) {
|
|
225
|
+
var _a;
|
|
190
226
|
try {
|
|
191
227
|
const key = `${SIGN_IN_ATTEMPT_KEY}${app}`;
|
|
192
|
-
|
|
228
|
+
// parseInt, not Number: the marker may carry the `:established` suffix.
|
|
229
|
+
const previous = Number.parseInt((_a = sessionStorage.getItem(key)) !== null && _a !== void 0 ? _a : "", 10);
|
|
193
230
|
const now = Date.now();
|
|
194
231
|
if (previous && now - previous < SIGN_IN_RETRY_WINDOW_MS)
|
|
195
232
|
return true;
|
|
233
|
+
// A fresh attempt has an unknown outcome again.
|
|
196
234
|
sessionStorage.setItem(key, String(now));
|
|
197
235
|
return false;
|
|
198
236
|
}
|
|
199
|
-
catch (
|
|
237
|
+
catch (_b) {
|
|
200
238
|
// Storage blocked (private mode). Fail open rather than block a sign-in.
|
|
201
239
|
return false;
|
|
202
240
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAQrD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO;YACjB,CAAC,CAAC,GAAG,UAAU,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAChE,CAAC,CAAC,GAAG,UAAU,cAAc,CAAA;QAC/B,4EAA4E;QAC5E,+DAA+D;QAC/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAA;QACF,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED