powr-sdk-web 6.11.0 → 6.12.0

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 CHANGED
@@ -405,6 +405,12 @@ Object.defineProperty(exports, "coercePhoneForStorage", {
405
405
  return _phone.coercePhoneForStorage;
406
406
  }
407
407
  });
408
+ Object.defineProperty(exports, "currentReturnPath", {
409
+ enumerable: true,
410
+ get: function get() {
411
+ return _sso.currentReturnPath;
412
+ }
413
+ });
408
414
  Object.defineProperty(exports, "defineAppStep", {
409
415
  enumerable: true,
410
416
  get: function get() {
@@ -519,6 +525,12 @@ Object.defineProperty(exports, "issueLoginCode", {
519
525
  return _sso.issueLoginCode;
520
526
  }
521
527
  });
528
+ Object.defineProperty(exports, "loginHrefWithNext", {
529
+ enumerable: true,
530
+ get: function get() {
531
+ return _sso.loginHrefWithNext;
532
+ }
533
+ });
522
534
  Object.defineProperty(exports, "loginWithCode", {
523
535
  enumerable: true,
524
536
  get: function get() {
package/dist/sso/api.js CHANGED
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.currentReturnPath = currentReturnPath;
6
7
  exports.issueLoginCode = issueLoginCode;
8
+ exports.loginHrefWithNext = loginHrefWithNext;
7
9
  exports.loginWithCode = loginWithCode;
8
10
  exports.readHandoffParams = readHandoffParams;
9
11
  exports.safeNextPath = safeNextPath;
@@ -27,6 +29,32 @@ function safeNextPath(next) {
27
29
  return fallback;
28
30
  }
29
31
 
32
+ /** Current path+search for return-after-login (browser only). */
33
+ function currentReturnPath() {
34
+ if (typeof window === "undefined") return "/";
35
+ return "".concat(window.location.pathname).concat(window.location.search || "");
36
+ }
37
+
38
+ /**
39
+ * Build `/login?next=…` so post-login can restore the deep link.
40
+ * Skips when already on login or `next` is empty/unsafe.
41
+ * @param {string} [returnPath] - defaults to currentReturnPath()
42
+ * @param {string} [loginPath="/login"]
43
+ */
44
+ function loginHrefWithNext(returnPath) {
45
+ var loginPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "/login";
46
+ var login = loginPath || "/login";
47
+ var next = returnPath == null ? currentReturnPath() : String(returnPath || "");
48
+ if (!next || next === login || next.startsWith("".concat(login, "?")) || next.startsWith("".concat(login, "/"))) {
49
+ return login;
50
+ }
51
+ var safe = safeNextPath(next, "");
52
+ if (!safe || safe === login || safe.startsWith("".concat(login, "?")) || safe.startsWith("".concat(login, "/"))) {
53
+ return login;
54
+ }
55
+ return "".concat(login, "?next=").concat(encodeURIComponent(safe));
56
+ }
57
+
30
58
  /**
31
59
  * Issue a one-time login code (caller must already be authenticated).
32
60
  * Host `injectProjectId` needs destination `projectId` on the body.
package/dist/sso/index.js CHANGED
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "buildPowrSsoUrl", {
15
15
  return _openPowrLogin.buildPowrSsoUrl;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "currentReturnPath", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _api.currentReturnPath;
22
+ }
23
+ });
18
24
  exports["default"] = PowrBaseSso;
19
25
  Object.defineProperty(exports, "issueLoginCode", {
20
26
  enumerable: true,
@@ -22,6 +28,12 @@ Object.defineProperty(exports, "issueLoginCode", {
22
28
  return _api.issueLoginCode;
23
29
  }
24
30
  });
31
+ Object.defineProperty(exports, "loginHrefWithNext", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _api.loginHrefWithNext;
35
+ }
36
+ });
25
37
  Object.defineProperty(exports, "loginWithCode", {
26
38
  enumerable: true,
27
39
  get: function get() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-web",
3
- "version": "6.11.0",
3
+ "version": "6.12.0",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist"