@ogcio/sag-client 0.7.7 → 0.7.10
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 +6 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +50 -0
- package/dist/auth.js.map +1 -1
- package/dist/fetcher.d.ts.map +1 -1
- package/dist/fetcher.js +3 -3
- package/dist/fetcher.js.map +1 -1
- package/dist/react/use-gateway-download.d.ts.map +1 -1
- package/dist/react/use-gateway-download.js +65 -50
- package/dist/react/use-gateway-download.js.map +1 -1
- package/dist/react/use-onboarding-guard.d.ts.map +1 -1
- package/dist/react/use-onboarding-guard.js +1 -2
- package/dist/react/use-onboarding-guard.js.map +1 -1
- package/package.json +4 -4
package/dist/auth.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export declare function getSelectedOrganization(gatewayUrl: string): Promise<str
|
|
|
46
46
|
* Clear the user's organization selection on the gateway.
|
|
47
47
|
*/
|
|
48
48
|
export declare function clearSelectedOrganization(gatewayUrl: string): Promise<boolean>;
|
|
49
|
+
export declare function isAuthNavigationInFlight(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Message for a 401. Call this *after* asking for sign-in, so it can see
|
|
52
|
+
* whether a redirect is really coming — `signIn` may decline to navigate.
|
|
53
|
+
*/
|
|
54
|
+
export declare function sessionExpiredMessage(): string;
|
|
49
55
|
/**
|
|
50
56
|
* Redirect the user to the gateway sign-in endpoint.
|
|
51
57
|
*
|
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,CAqBrB;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;
|
|
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,CAqBrB;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;AA0BD;;;;;;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
|
@@ -141,20 +141,66 @@ export async function clearSelectedOrganization(gatewayUrl) {
|
|
|
141
141
|
return false;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
+
const NAV_FORM_ID = "sag-auth-nav";
|
|
144
145
|
/**
|
|
145
146
|
* Submit a hidden form via POST to trigger a full-page navigation.
|
|
146
147
|
*
|
|
147
148
|
* Using POST (instead of GET via window.location.href) provides CSRF
|
|
148
149
|
* protection: browsers do not send sameSite:"lax" cookies on cross-site
|
|
149
150
|
* POST requests, so an attacker page cannot trigger auth actions.
|
|
151
|
+
*
|
|
152
|
+
* Single-flight, because concurrent `/auth/sign-in` calls each overwrite the
|
|
153
|
+
* previous OIDC state and code verifier in the shared gateway session, and the
|
|
154
|
+
* callback then fails `state_mismatched`. The marker form is the guard's
|
|
155
|
+
* state — it lives exactly as long as this document.
|
|
150
156
|
*/
|
|
151
157
|
function postNavigate(url) {
|
|
158
|
+
if (document.getElementById(NAV_FORM_ID))
|
|
159
|
+
return;
|
|
152
160
|
const form = document.createElement("form");
|
|
153
161
|
form.method = "POST";
|
|
154
162
|
form.action = url;
|
|
163
|
+
form.id = NAV_FORM_ID;
|
|
155
164
|
document.body.appendChild(form);
|
|
156
165
|
form.submit();
|
|
157
166
|
}
|
|
167
|
+
export function isAuthNavigationInFlight() {
|
|
168
|
+
return (typeof document !== "undefined" &&
|
|
169
|
+
document.getElementById(NAV_FORM_ID) !== null);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Message for a 401. Call this *after* asking for sign-in, so it can see
|
|
173
|
+
* whether a redirect is really coming — `signIn` may decline to navigate.
|
|
174
|
+
*/
|
|
175
|
+
export function sessionExpiredMessage() {
|
|
176
|
+
return isAuthNavigationInFlight()
|
|
177
|
+
? "Session expired. Redirecting to sign in\u2026"
|
|
178
|
+
: "You are signed in, but this request was not authorised.";
|
|
179
|
+
}
|
|
180
|
+
const SIGN_IN_ATTEMPT_KEY = "sag-sign-in-attempt:";
|
|
181
|
+
const SIGN_IN_RETRY_WINDOW_MS = 10000;
|
|
182
|
+
/**
|
|
183
|
+
* The gateway returns 401 both for its own dead session and for an upstream
|
|
184
|
+
* that rejected a valid token, so signing in cannot always clear one. Without
|
|
185
|
+
* this the client re-signs-in, comes back, 401s again, and reload-loops.
|
|
186
|
+
* sessionStorage survives the round trip that clears the document; per-app so
|
|
187
|
+
* crossing zones is never blocked.
|
|
188
|
+
*/
|
|
189
|
+
function signInAttemptedRecently(app) {
|
|
190
|
+
try {
|
|
191
|
+
const key = `${SIGN_IN_ATTEMPT_KEY}${app}`;
|
|
192
|
+
const previous = Number(sessionStorage.getItem(key));
|
|
193
|
+
const now = Date.now();
|
|
194
|
+
if (previous && now - previous < SIGN_IN_RETRY_WINDOW_MS)
|
|
195
|
+
return true;
|
|
196
|
+
sessionStorage.setItem(key, String(now));
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
catch (_a) {
|
|
200
|
+
// Storage blocked (private mode). Fail open rather than block a sign-in.
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
158
204
|
/**
|
|
159
205
|
* Redirect the user to the gateway sign-in endpoint.
|
|
160
206
|
*
|
|
@@ -163,6 +209,10 @@ function postNavigate(url) {
|
|
|
163
209
|
* @param options - Optional sign-in options (connector, redirectUrl).
|
|
164
210
|
*/
|
|
165
211
|
export function signIn(gatewayUrl, app, options) {
|
|
212
|
+
if (signInAttemptedRecently(app)) {
|
|
213
|
+
console.warn(`Suppressed a repeat sign-in for "${app}": the previous attempt did not clear the 401, so signing in again cannot help.`);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
166
216
|
const params = new URLSearchParams({ app });
|
|
167
217
|
if (options === null || options === void 0 ? void 0 : options.connector)
|
|
168
218
|
params.set("connector", options.connector);
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/fetcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,IAAI,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,IAAI,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAiDvC;AA0DD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,IAAI,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,CACD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE,OAAO,KACX,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAoBxB"}
|
package/dist/fetcher.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - On non-OK responses: attempts to parse the gateway JSON body for
|
|
7
7
|
* user-friendly error messages (e.g. 503 LOGTO_UNAVAILABLE).
|
|
8
8
|
*/
|
|
9
|
-
import { signIn } from "./auth";
|
|
9
|
+
import { sessionExpiredMessage, signIn } from "./auth";
|
|
10
10
|
import { ACTOR_TYPE_HEADER, ORGANIZATION_ID_HEADER, SagFetchError, } from "./types";
|
|
11
11
|
/**
|
|
12
12
|
* Create a fetcher function bound to a specific gateway + application.
|
|
@@ -41,7 +41,7 @@ export function createGatewayFetcher(gatewayUrl, appName, onSessionExpired, opti
|
|
|
41
41
|
else {
|
|
42
42
|
signIn(gatewayUrl, appName);
|
|
43
43
|
}
|
|
44
|
-
throw new SagFetchError(
|
|
44
|
+
throw new SagFetchError(sessionExpiredMessage(), 401);
|
|
45
45
|
}
|
|
46
46
|
if (!response.ok) {
|
|
47
47
|
let message = `HTTP error! status: ${response.status} ${response.statusText}`;
|
|
@@ -90,7 +90,7 @@ async function handleErrorResponse(response, gatewayUrl, appName, onSessionExpir
|
|
|
90
90
|
else {
|
|
91
91
|
signIn(gatewayUrl, appName);
|
|
92
92
|
}
|
|
93
|
-
throw new SagFetchError(
|
|
93
|
+
throw new SagFetchError(sessionExpiredMessage(), 401);
|
|
94
94
|
}
|
|
95
95
|
let message = `HTTP error! status: ${response.status} ${response.statusText}`;
|
|
96
96
|
let code;
|
package/dist/fetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-gateway-download.d.ts","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,SAAS,EAEd,aAAa,EACd,MAAM,UAAU,CAAA;AAkBjB,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;CAC5B;
|
|
1
|
+
{"version":3,"file":"use-gateway-download.d.ts","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,SAAS,EAEd,aAAa,EACd,MAAM,UAAU,CAAA;AAkBjB,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gGAAgG;IAChG,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;CAC5B;AAkGD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,wBAAwB,CA4E1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useCallback, useState } from "react";
|
|
3
|
-
import { signIn } from "../auth";
|
|
3
|
+
import { sessionExpiredMessage, signIn } from "../auth";
|
|
4
4
|
import { ACTOR_TYPE_HEADER, ORGANIZATION_ID_HEADER, SagFetchError, } from "../types";
|
|
5
5
|
import { useSagClient } from "./provider";
|
|
6
6
|
/**
|
|
@@ -28,6 +28,65 @@ function triggerAnchorDownload(objectUrl, filename) {
|
|
|
28
28
|
anchor.remove();
|
|
29
29
|
}, 100);
|
|
30
30
|
}
|
|
31
|
+
function buildDownloadHeaders(appName, options) {
|
|
32
|
+
const headers = { "X-Application": appName };
|
|
33
|
+
if (options === null || options === void 0 ? void 0 : options.actorType) {
|
|
34
|
+
headers[ACTOR_TYPE_HEADER] = options.actorType;
|
|
35
|
+
}
|
|
36
|
+
if (options === null || options === void 0 ? void 0 : options.organizationId) {
|
|
37
|
+
headers[ORGANIZATION_ID_HEADER] = options.organizationId;
|
|
38
|
+
}
|
|
39
|
+
return headers;
|
|
40
|
+
}
|
|
41
|
+
/** Build the error for a non-OK response, preferring detail from a JSON body. */
|
|
42
|
+
async function toResponseError(response) {
|
|
43
|
+
let message = `HTTP error! status: ${response.status} ${response.statusText}`;
|
|
44
|
+
let code;
|
|
45
|
+
try {
|
|
46
|
+
const body = (await response.json());
|
|
47
|
+
if (body.details)
|
|
48
|
+
message = body.details;
|
|
49
|
+
else if (body.error)
|
|
50
|
+
message = body.error;
|
|
51
|
+
if (body.code)
|
|
52
|
+
code = body.code;
|
|
53
|
+
}
|
|
54
|
+
catch (_a) {
|
|
55
|
+
// non-JSON body
|
|
56
|
+
}
|
|
57
|
+
return new SagFetchError(message, response.status, code);
|
|
58
|
+
}
|
|
59
|
+
/** Point the pre-opened tab at the blob, then release the URL on a delay. */
|
|
60
|
+
function renderInNewTab(tab, objectUrl) {
|
|
61
|
+
// The tab can still have been closed (or refuse navigation) between
|
|
62
|
+
// `window.open` and here — treat that the same as a blocked popup rather
|
|
63
|
+
// than silently downgrading to a download.
|
|
64
|
+
if (tab.closed) {
|
|
65
|
+
throw new SagFetchError("The preview tab was closed before the file could load. Please try again.", 0, PREVIEW_POPUP_BLOCKED);
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
tab.location.href = objectUrl;
|
|
69
|
+
}
|
|
70
|
+
catch (_a) {
|
|
71
|
+
throw new SagFetchError("Could not open the preview tab. Please try again.", 0, PREVIEW_POPUP_BLOCKED);
|
|
72
|
+
}
|
|
73
|
+
// Release the object URL once the new tab has had time to start loading it.
|
|
74
|
+
// Without this the preview path leaked a blob for the lifetime of the opener
|
|
75
|
+
// document (the anchor path below already revoked). The delay is deliberately
|
|
76
|
+
// generous: revoking too eagerly can abort the in-flight navigation and leave
|
|
77
|
+
// the tab blank on some browsers.
|
|
78
|
+
setTimeout(() => {
|
|
79
|
+
URL.revokeObjectURL(objectUrl);
|
|
80
|
+
}, NEW_TAB_OBJECT_URL_TTL_MS);
|
|
81
|
+
}
|
|
82
|
+
/** Keep a SagFetchError as-is; wrap anything else thrown. */
|
|
83
|
+
function toSagFetchError(err) {
|
|
84
|
+
if (err instanceof SagFetchError) {
|
|
85
|
+
return err;
|
|
86
|
+
}
|
|
87
|
+
const message = err instanceof Error ? err.message : "Download failed";
|
|
88
|
+
return new SagFetchError(message, 0);
|
|
89
|
+
}
|
|
31
90
|
/**
|
|
32
91
|
* Hook that returns an authenticated `download(path, filename)` function
|
|
33
92
|
* for fetching binary files through the Secure API Gateway.
|
|
@@ -59,15 +118,7 @@ export function useGatewayDownload(options) {
|
|
|
59
118
|
throw new SagFetchError("Could not open a new tab for the preview. Please allow pop-ups and try again.", 0, PREVIEW_POPUP_BLOCKED);
|
|
60
119
|
}
|
|
61
120
|
const url = `${client.gatewayUrl}${path}`;
|
|
62
|
-
const headers =
|
|
63
|
-
"X-Application": client.appName,
|
|
64
|
-
};
|
|
65
|
-
if (options === null || options === void 0 ? void 0 : options.actorType) {
|
|
66
|
-
headers[ACTOR_TYPE_HEADER] = options.actorType;
|
|
67
|
-
}
|
|
68
|
-
if (options === null || options === void 0 ? void 0 : options.organizationId) {
|
|
69
|
-
headers[ORGANIZATION_ID_HEADER] = options.organizationId;
|
|
70
|
-
}
|
|
121
|
+
const headers = buildDownloadHeaders(client.appName, options);
|
|
71
122
|
const response = await fetch(url, {
|
|
72
123
|
credentials: "include",
|
|
73
124
|
headers,
|
|
@@ -75,50 +126,16 @@ export function useGatewayDownload(options) {
|
|
|
75
126
|
if (response.status === 401) {
|
|
76
127
|
newTab === null || newTab === void 0 ? void 0 : newTab.close();
|
|
77
128
|
signIn(client.gatewayUrl, client.appName);
|
|
78
|
-
throw new SagFetchError(
|
|
129
|
+
throw new SagFetchError(sessionExpiredMessage(), 401);
|
|
79
130
|
}
|
|
80
131
|
if (!response.ok) {
|
|
81
132
|
newTab === null || newTab === void 0 ? void 0 : newTab.close();
|
|
82
|
-
|
|
83
|
-
let code;
|
|
84
|
-
try {
|
|
85
|
-
const body = (await response.json());
|
|
86
|
-
if (body.details)
|
|
87
|
-
message = body.details;
|
|
88
|
-
else if (body.error)
|
|
89
|
-
message = body.error;
|
|
90
|
-
if (body.code)
|
|
91
|
-
code = body.code;
|
|
92
|
-
}
|
|
93
|
-
catch (_b) {
|
|
94
|
-
// non-JSON body
|
|
95
|
-
}
|
|
96
|
-
throw new SagFetchError(message, response.status, code);
|
|
133
|
+
throw await toResponseError(response);
|
|
97
134
|
}
|
|
98
135
|
const blob = await response.blob();
|
|
99
136
|
const objectUrl = URL.createObjectURL(blob);
|
|
100
137
|
if (newTab) {
|
|
101
|
-
|
|
102
|
-
// between `window.open` and here — treat that the same as a
|
|
103
|
-
// blocked popup rather than silently downgrading to a download.
|
|
104
|
-
if (newTab.closed) {
|
|
105
|
-
throw new SagFetchError("The preview tab was closed before the file could load. Please try again.", 0, PREVIEW_POPUP_BLOCKED);
|
|
106
|
-
}
|
|
107
|
-
try {
|
|
108
|
-
newTab.location.href = objectUrl;
|
|
109
|
-
}
|
|
110
|
-
catch (_c) {
|
|
111
|
-
throw new SagFetchError("Could not open the preview tab. Please try again.", 0, PREVIEW_POPUP_BLOCKED);
|
|
112
|
-
}
|
|
113
|
-
// Release the object URL once the new tab has had time to start
|
|
114
|
-
// loading it. Without this the preview path leaked a blob for
|
|
115
|
-
// the lifetime of the opener document (the anchor path below
|
|
116
|
-
// already revoked). The delay is deliberately generous: revoking
|
|
117
|
-
// too eagerly can abort the in-flight navigation and leave the
|
|
118
|
-
// tab blank on some browsers.
|
|
119
|
-
setTimeout(() => {
|
|
120
|
-
URL.revokeObjectURL(objectUrl);
|
|
121
|
-
}, NEW_TAB_OBJECT_URL_TTL_MS);
|
|
138
|
+
renderInNewTab(newTab, objectUrl);
|
|
122
139
|
}
|
|
123
140
|
else {
|
|
124
141
|
triggerAnchorDownload(objectUrl, filename);
|
|
@@ -126,9 +143,7 @@ export function useGatewayDownload(options) {
|
|
|
126
143
|
}
|
|
127
144
|
catch (err) {
|
|
128
145
|
newTab === null || newTab === void 0 ? void 0 : newTab.close();
|
|
129
|
-
const sagError = err
|
|
130
|
-
? err
|
|
131
|
-
: new SagFetchError(err instanceof Error ? err.message : "Download failed", 0);
|
|
146
|
+
const sagError = toSagFetchError(err);
|
|
132
147
|
setError(sagError);
|
|
133
148
|
throw sagError;
|
|
134
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-gateway-download.js","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"use-gateway-download.js","sourceRoot":"","sources":["../../src/react/use-gateway-download.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-onboarding-guard.d.ts","sourceRoot":"","sources":["../../src/react/use-onboarding-guard.ts"],"names":[],"mappings":"AAwBA,iDAAiD;AACjD,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAEjC;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"use-onboarding-guard.d.ts","sourceRoot":"","sources":["../../src/react/use-onboarding-guard.ts"],"names":[],"mappings":"AAwBA,iDAAiD;AACjD,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAEjC;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CAkJ1B"}
|
|
@@ -77,8 +77,6 @@ export function useOnboardingGuard(options) {
|
|
|
77
77
|
const redirectingRef = useRef(false);
|
|
78
78
|
useEffect(() => {
|
|
79
79
|
var _a;
|
|
80
|
-
// Re-run after debounce timer fires (see setDebounceRetryTick below).
|
|
81
|
-
void debounceRetryTick;
|
|
82
80
|
if (loading)
|
|
83
81
|
return;
|
|
84
82
|
if (redirectingRef.current)
|
|
@@ -189,6 +187,7 @@ export function useOnboardingGuard(options) {
|
|
|
189
187
|
debounceMs,
|
|
190
188
|
client.gatewayUrl,
|
|
191
189
|
client.appName,
|
|
190
|
+
// Re-runs this effect after the debounce timer fires.
|
|
192
191
|
debounceRetryTick,
|
|
193
192
|
]);
|
|
194
193
|
return { resolved };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-onboarding-guard.js","sourceRoot":"","sources":["../../src/react/use-onboarding-guard.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,GAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,+DAA+D;AAE/D,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AAClD,MAAM,0BAA0B,GAAG,oBAAoB,CAAA;AACvD,MAAM,mBAAmB,GAAG,KAAM,CAAA,CAAC,aAAa;AA+EhD,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAkC;IAElC,MAAM,EACJ,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,UAAU,GAAG,mBAAmB,GACjC,GAAG,OAAO,CAAA;IAEX,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAAA;IAE9D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE7D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEpC,SAAS,CAAC,GAAG,EAAE;;QACb,
|
|
1
|
+
{"version":3,"file":"use-onboarding-guard.js","sourceRoot":"","sources":["../../src/react/use-onboarding-guard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ogcio/sag-client",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.10",
|
|
4
4
|
"description": "Framework-agnostic client for the Secure API Gateway — authentication, health checks, and authenticated fetching",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@testing-library/react": "16.3.
|
|
55
|
+
"@testing-library/react": "16.3.3",
|
|
56
56
|
"@types/react": "19.2.18",
|
|
57
|
-
"@types/react-dom": "19.2.
|
|
57
|
+
"@types/react-dom": "19.2.5",
|
|
58
58
|
"jsdom": "30.0.1",
|
|
59
59
|
"react": "^19.2.4",
|
|
60
60
|
"react-dom": "19.2.8",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"node": ">=22.0.0"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {
|
|
68
|
-
"test": "vitest run --coverage --reporter=junit --outputFile=results.xml
|
|
68
|
+
"test": "vitest run --coverage --reporter=default --reporter=junit --outputFile=results.xml",
|
|
69
69
|
"test:watch": "vitest",
|
|
70
70
|
"test:coverage": "vitest run --coverage",
|
|
71
71
|
"format:check": "biome format",
|