@enterprisestandard/react 0.0.3-beta.2 → 0.0.3-beta.3
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 +31 -21
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -45,10 +45,10 @@ function sso(config) {
|
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const
|
|
49
|
-
if (!
|
|
48
|
+
const { tokens } = await getTokenFromCookies(request);
|
|
49
|
+
if (!tokens)
|
|
50
50
|
return;
|
|
51
|
-
return await parseUser(
|
|
51
|
+
return await parseUser(tokens);
|
|
52
52
|
} catch (error) {
|
|
53
53
|
console.error("Error parsing user from cookies:", error);
|
|
54
54
|
return;
|
|
@@ -334,7 +334,7 @@ function sso(config) {
|
|
|
334
334
|
const refresh_token = getCookie("refresh", req);
|
|
335
335
|
const control = getCookie("control", req, true);
|
|
336
336
|
if (!access_token || !id_token || !refresh_token || !control) {
|
|
337
|
-
return;
|
|
337
|
+
return { tokens: undefined, refreshHeaders: [] };
|
|
338
338
|
}
|
|
339
339
|
let tokenResponse = {
|
|
340
340
|
access_token,
|
|
@@ -344,14 +344,17 @@ function sso(config) {
|
|
|
344
344
|
};
|
|
345
345
|
if (control.expires && refresh_token && Date.now() > new Date(control.expires).getTime()) {
|
|
346
346
|
tokenResponse = await refreshToken(refresh_token);
|
|
347
|
+
const user = await parseUser(tokenResponse);
|
|
348
|
+
const refreshHeaders = createJwtCookies(tokenResponse, user.sso.expires);
|
|
349
|
+
return { tokens: tokenResponse, refreshHeaders };
|
|
347
350
|
}
|
|
348
|
-
return tokenResponse;
|
|
351
|
+
return { tokens: tokenResponse, refreshHeaders: [] };
|
|
349
352
|
}
|
|
350
353
|
async function getJwt(request) {
|
|
351
|
-
const
|
|
352
|
-
if (!
|
|
354
|
+
const { tokens } = await getTokenFromCookies(request);
|
|
355
|
+
if (!tokens)
|
|
353
356
|
return;
|
|
354
|
-
return
|
|
357
|
+
return tokens.access_token;
|
|
355
358
|
}
|
|
356
359
|
function createCookie(name, value, expires) {
|
|
357
360
|
name = `${configWithDefaults.cookiePrefix}.${name}`;
|
|
@@ -396,32 +399,39 @@ function sso(config) {
|
|
|
396
399
|
return callbackHandler(request);
|
|
397
400
|
}
|
|
398
401
|
if (userUrl === path) {
|
|
399
|
-
const
|
|
400
|
-
if (!
|
|
402
|
+
const { tokens, refreshHeaders } = await getTokenFromCookies(request);
|
|
403
|
+
if (!tokens) {
|
|
401
404
|
return new Response("User not logged in", { status: 401 });
|
|
402
405
|
}
|
|
406
|
+
const user = await parseUser(tokens);
|
|
403
407
|
return new Response(JSON.stringify(user), {
|
|
404
|
-
headers: [["Content-Type", "application/json"]]
|
|
408
|
+
headers: [["Content-Type", "application/json"], ...refreshHeaders]
|
|
405
409
|
});
|
|
406
410
|
}
|
|
407
411
|
if (tokenUrl === path) {
|
|
408
|
-
const
|
|
409
|
-
if (!
|
|
412
|
+
const { tokens, refreshHeaders } = await getTokenFromCookies(request);
|
|
413
|
+
if (!tokens) {
|
|
410
414
|
return new Response("User not logged in", { status: 401 });
|
|
411
415
|
}
|
|
412
416
|
return new Response(JSON.stringify({
|
|
413
|
-
token:
|
|
414
|
-
expires:
|
|
417
|
+
token: tokens.access_token,
|
|
418
|
+
expires: tokens.expires
|
|
415
419
|
}), {
|
|
416
|
-
headers: [["Content-Type", "application/json"]]
|
|
420
|
+
headers: [["Content-Type", "application/json"], ...refreshHeaders]
|
|
417
421
|
});
|
|
418
422
|
}
|
|
419
423
|
if (refreshUrl === path) {
|
|
420
|
-
const
|
|
421
|
-
if (!
|
|
424
|
+
const refresh_token = getCookie("refresh", request);
|
|
425
|
+
if (!refresh_token) {
|
|
422
426
|
return new Response("User not logged in", { status: 401 });
|
|
423
427
|
}
|
|
424
|
-
|
|
428
|
+
const newTokenResponse = await refreshToken(refresh_token);
|
|
429
|
+
const user = await parseUser(newTokenResponse);
|
|
430
|
+
const refreshHeaders = createJwtCookies(newTokenResponse, user.sso.expires);
|
|
431
|
+
return new Response("Refresh Complete", {
|
|
432
|
+
status: 200,
|
|
433
|
+
headers: refreshHeaders
|
|
434
|
+
});
|
|
425
435
|
}
|
|
426
436
|
if (loginUrl === "*" || loginUrl === path) {
|
|
427
437
|
return initiateLogin({
|
|
@@ -632,8 +642,8 @@ function SignedIn({ children }) {
|
|
|
632
642
|
// src/ui/signed-out.tsx
|
|
633
643
|
import { jsxDEV as jsxDEV3, Fragment as Fragment3 } from "react/jsx-dev-runtime";
|
|
634
644
|
function SignedOut({ children }) {
|
|
635
|
-
const { user } = useUser();
|
|
636
|
-
if (user)
|
|
645
|
+
const { user, isLoading } = useUser();
|
|
646
|
+
if (user || isLoading)
|
|
637
647
|
return null;
|
|
638
648
|
return /* @__PURE__ */ jsxDEV3(Fragment3, {
|
|
639
649
|
children
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enterprisestandard/react",
|
|
3
|
-
"version": "0.0.3-beta.
|
|
3
|
+
"version": "0.0.3-beta.3",
|
|
4
4
|
"description": "Enterprise Standard React Components",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
+
"@types/react": "^18.0.0",
|
|
33
34
|
"typescript": "^5.0.0"
|
|
34
35
|
},
|
|
35
36
|
"author": "enterprisestandard",
|