@darajs/core 1.26.6 → 1.26.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sso-callback.d.ts","sourceRoot":"","sources":["../../../js/auth/oidc/sso-callback.tsx"],"names":[],"mappings":"AAyCA;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA4BxC;AAED,iBAAS,mBAAmB,IAAI,GAAG,CAAC,OAAO,CAyB1C;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"sso-callback.d.ts","sourceRoot":"","sources":["../../../js/auth/oidc/sso-callback.tsx"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA6BxC;AAED,iBAAS,mBAAmB,IAAI,GAAG,CAAC,OAAO,CAyB1C;AAED,eAAe,mBAAmB,CAAC"}
@@ -8,7 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jwtDecode } from 'jwt-decode';
12
11
  import { useEffect } from 'react';
13
12
  import { useLocation, useNavigate } from 'react-router';
14
13
  import { HTTP_METHOD } from '@darajs/ui-utils';
@@ -17,31 +16,6 @@ import DefaultFallback from '../../components/fallback/default';
17
16
  import { useRouterContext } from '../../router/context';
18
17
  import Center from '../../shared/center/center';
19
18
  import { handleAuthErrors } from '../auth';
20
- /**
21
- * Decode the state parameter which is a JWT containing the redirect URL.
22
- *
23
- * @param state The state parameter from the callback URL
24
- * @returns The redirect URL extracted from the state
25
- */
26
- function decodeStateRedirect(state) {
27
- var _a;
28
- if (!state) {
29
- return null;
30
- }
31
- try {
32
- const payload = jwtDecode(state);
33
- return (_a = payload.redirect_to) !== null && _a !== void 0 ? _a : null;
34
- }
35
- catch (_b) {
36
- // If decoding fails, try using the raw state as a URL (fallback for non-JWT states)
37
- try {
38
- return decodeURIComponent(state);
39
- }
40
- catch (_c) {
41
- return null;
42
- }
43
- }
44
- }
45
19
  /**
46
20
  * Makes a call to /sso-callback and returns the post-auth redirect path.
47
21
  * Returns null on auth failure.
@@ -66,8 +40,9 @@ export function getSSOCallbackResult(search, defaultPath) {
66
40
  return null;
67
41
  }
68
42
  if (res.ok) {
43
+ const responseData = (yield res.json());
69
44
  return {
70
- redirectTo: (_a = decodeStateRedirect(state)) !== null && _a !== void 0 ? _a : defaultPath,
45
+ redirectTo: (_a = responseData.redirect_to) !== null && _a !== void 0 ? _a : defaultPath,
71
46
  };
72
47
  }
73
48
  throw new Error(`${res.status}: ${res.statusText}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sso-callback.js","sourceRoot":"","sources":["../../../js/auth/oidc/sso-callback.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sso-callback.js","sourceRoot":"","sources":["../../../js/auth/oidc/sso-callback.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM3C;;;;;GAKG;AACH,MAAM,UAAgB,oBAAoB,CACtC,MAAc,EACd,WAAmB;;;QAEnB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE;gBAChD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC7B,KAAK;iBACR,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,IAAI;aAC3B,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,CAAC;gBAC/D,OAAO;oBACH,UAAU,EAAE,MAAA,YAAY,CAAC,WAAW,mCAAI,WAAW;iBACtD,CAAC;YACN,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CAAA;AAED,SAAS,mBAAmB;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACX,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC;aAClD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,IAAI,MAAM,EAAE,CAAC;gBACT,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YACjD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACP,uDAAuD;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,MAAM,cACH,KAAC,eAAe,KAAG,GACd,CACZ,CAAC;AACN,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -76455,75 +76455,6 @@ Inferred class string: "${iconClasses}."`
76455
76455
  }, []);
76456
76456
  return /* @__PURE__ */ React.createElement(Center, null, /* @__PURE__ */ React.createElement(DefaultFallback$1, null));
76457
76457
  }
76458
- class InvalidTokenError extends Error {
76459
- }
76460
- InvalidTokenError.prototype.name = "InvalidTokenError";
76461
- function b64DecodeUnicode(str) {
76462
- return decodeURIComponent(atob(str).replace(/(.)/g, (m, p2) => {
76463
- let code = p2.charCodeAt(0).toString(16).toUpperCase();
76464
- if (code.length < 2) {
76465
- code = "0" + code;
76466
- }
76467
- return "%" + code;
76468
- }));
76469
- }
76470
- function base64UrlDecode(str) {
76471
- let output = str.replace(/-/g, "+").replace(/_/g, "/");
76472
- switch (output.length % 4) {
76473
- case 0:
76474
- break;
76475
- case 2:
76476
- output += "==";
76477
- break;
76478
- case 3:
76479
- output += "=";
76480
- break;
76481
- default:
76482
- throw new Error("base64 string is not of the correct length");
76483
- }
76484
- try {
76485
- return b64DecodeUnicode(output);
76486
- } catch (err2) {
76487
- return atob(output);
76488
- }
76489
- }
76490
- function jwtDecode(token, options) {
76491
- if (typeof token !== "string") {
76492
- throw new InvalidTokenError("Invalid token specified: must be a string");
76493
- }
76494
- options || (options = {});
76495
- const pos = options.header === true ? 0 : 1;
76496
- const part = token.split(".")[pos];
76497
- if (typeof part !== "string") {
76498
- throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);
76499
- }
76500
- let decoded;
76501
- try {
76502
- decoded = base64UrlDecode(part);
76503
- } catch (e2) {
76504
- throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e2.message})`);
76505
- }
76506
- try {
76507
- return JSON.parse(decoded);
76508
- } catch (e2) {
76509
- throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e2.message})`);
76510
- }
76511
- }
76512
- function decodeStateRedirect(state) {
76513
- if (!state) {
76514
- return null;
76515
- }
76516
- try {
76517
- const payload = jwtDecode(state);
76518
- return payload.redirect_to ?? null;
76519
- } catch {
76520
- try {
76521
- return decodeURIComponent(state);
76522
- } catch {
76523
- return null;
76524
- }
76525
- }
76526
- }
76527
76458
  async function getSSOCallbackResult(search, defaultPath) {
76528
76459
  try {
76529
76460
  const params = new URLSearchParams(search);
@@ -76540,8 +76471,9 @@ Inferred class string: "${iconClasses}."`
76540
76471
  return null;
76541
76472
  }
76542
76473
  if (res.ok) {
76474
+ const responseData = await res.json();
76543
76475
  return {
76544
- redirectTo: decodeStateRedirect(state) ?? defaultPath
76476
+ redirectTo: responseData.redirect_to ?? defaultPath
76545
76477
  };
76546
76478
  }
76547
76479
  throw new Error(`${res.status}: ${res.statusText}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darajs/core",
3
- "version": "1.26.6",
3
+ "version": "1.26.8",
4
4
  "description": "Dara Framework core",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "prepare-dev": "mkdir -p dist && tsc && cp -R js/assets dist/ && cp js/index.css dist/ && tsc-alias",
24
24
  "build-dev": "mkdir -p dist && cp js/index.css dist/ && cp -R js/assets dist/ && tsc && (concurrently \"tsc -w\" \"tsc-alias -w\")",
25
25
  "clean": "rimraf api assets components shared types *.js.map *.d.ts '!(*.config).js' *.css",
26
- "cypress:open": "cypress open",
26
+ "cypress:open": "cypress open --e2e",
27
27
  "lint": "tsc --noemit && eslint js tests cypress --ext .tsx,.ts --max-warnings 0 && stylelint './js/**/*.tsx'",
28
28
  "format": "prettier js --write --list-different",
29
29
  "format:check": "prettier js --check",
@@ -31,7 +31,7 @@
31
31
  "package": "yarn build && yarn publish --no-git-tag-version",
32
32
  "test-watch": "vitest",
33
33
  "test": "vitest --run",
34
- "test:e2e": "start-server-and-test 'poetry run dara start --config cypress.dara.main:config' http://127.0.0.1:8000/static/index.js 'cypress run'"
34
+ "test:e2e": "start-server-and-test 'poetry run dara start --config cypress.dara.main:config' http://127.0.0.1:8000/static/index.js 'cypress run --e2e'"
35
35
  },
36
36
  "prettier": "@darajs/prettier-config",
37
37
  "devDependencies": {
@@ -39,9 +39,9 @@
39
39
  "@babel/preset-env": "^7.23.0",
40
40
  "@babel/preset-react": "^7.22.15",
41
41
  "@babel/preset-typescript": "^7.23.0",
42
- "@darajs/eslint-config": "1.26.6",
43
- "@darajs/prettier-config": "1.26.6",
44
- "@darajs/stylelint-config": "1.26.6",
42
+ "@darajs/eslint-config": "1.26.8",
43
+ "@darajs/prettier-config": "1.26.8",
44
+ "@darajs/stylelint-config": "1.26.8",
45
45
  "@rollup/plugin-inject": "^4.0.4",
46
46
  "@testing-library/dom": "^9.3.0",
47
47
  "@testing-library/jest-dom": "^6.0.0",
@@ -60,7 +60,7 @@
60
60
  "@types/whatwg-fetch": "^0.0.33",
61
61
  "@vitejs/plugin-react": "4.6.0",
62
62
  "concurrently": "^8.0.1",
63
- "cypress": "9.5.3",
63
+ "cypress": "10.11.0",
64
64
  "msw": "^2.10.5",
65
65
  "postcss": "^8.4.35",
66
66
  "prettier": "^3.0.0",
@@ -75,10 +75,10 @@
75
75
  "whatwg-fetch": "^3.6.20"
76
76
  },
77
77
  "dependencies": {
78
- "@darajs/styled-components": "1.26.6",
79
- "@darajs/ui-components": "1.26.6",
80
- "@darajs/ui-notifications": "1.26.6",
81
- "@darajs/ui-utils": "1.26.6",
78
+ "@darajs/styled-components": "1.26.8",
79
+ "@darajs/ui-components": "1.26.8",
80
+ "@darajs/ui-notifications": "1.26.8",
81
+ "@darajs/ui-utils": "1.26.8",
82
82
  "@fortawesome/fontawesome-free": "~6.4.0",
83
83
  "@microsoft/fetch-event-source": "^2.0.1",
84
84
  "@recoiljs/refine": "^0.1.1",
@@ -119,5 +119,5 @@
119
119
  "engines": {
120
120
  "node": ">=20.19.0"
121
121
  },
122
- "gitHead": "ab3d1dc2ee7186d4d09bc640fde3ec9090a85499"
122
+ "gitHead": "698c2c09ff8f9ca313f557b6af370a36c9df7254"
123
123
  }