heimdall-tide 0.12.14 → 0.12.15

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.
@@ -12,6 +12,9 @@ class RequestEnclave extends heimdall_1.Heimdall {
12
12
  if (!data.doken)
13
13
  throw 'Doken not provided';
14
14
  this.doken = data.doken;
15
+ let parsedDoken = decodeToken(this.doken);
16
+ if (parsedDoken["t.uho"])
17
+ this.enclaveOrigin = parsedDoken["t.uho"]; // use tidecloak set user home ork from doken
15
18
  this.dokenRefreshCallback = data.dokenRefreshCallback;
16
19
  this.requireReloginCallback = data.requireReloginCallback;
17
20
  this.recieve("hidden enclave").then((data) => this.handleHiddenEnclaveResponse(data));
@@ -24,8 +27,22 @@ class RequestEnclave extends heimdall_1.Heimdall {
24
27
  }
25
28
  });
26
29
  }
27
- else
28
- throw 'Error opening enclave';
30
+ else {
31
+ // If injecting iframe fails, try setting it as a popup and opening it
32
+ this._windowType = heimdall_1.windowType.Popup;
33
+ this.open().then((success) => {
34
+ if (success) {
35
+ this.send({
36
+ type: "init",
37
+ message: {
38
+ doken: this.doken
39
+ }
40
+ });
41
+ }
42
+ else
43
+ throw 'Error opening all types of Request Enclave';
44
+ });
45
+ }
29
46
  });
30
47
  return this;
31
48
  }
@@ -89,8 +106,10 @@ class RequestEnclave extends heimdall_1.Heimdall {
89
106
  }
90
107
  });
91
108
  }
92
- else
93
- throw 'Error opening enclave';
109
+ else {
110
+ window.alert("There was an issue opening the fallback popup on this page. Please enable popups or let the administrator know about this problem. For more information, visit https://tide.org/browserwindow");
111
+ throw "Could not open popup";
112
+ }
94
113
  });
95
114
  }
96
115
  this.recieve("hidden enclave").then((data) => this.handleHiddenEnclaveResponse(data));
@@ -219,4 +238,55 @@ class RequestEnclave extends heimdall_1.Heimdall {
219
238
  }
220
239
  }
221
240
  exports.RequestEnclave = RequestEnclave;
241
+ function decodeToken(token) {
242
+ const [header, payload] = token.split(".");
243
+ if (typeof payload !== "string") {
244
+ throw new Error("Unable to decode token, payload not found.");
245
+ }
246
+ let decoded;
247
+ try {
248
+ decoded = base64UrlDecode(payload);
249
+ }
250
+ catch (error) {
251
+ throw new Error("Unable to decode token, payload is not a valid Base64URL value. Error: " + error);
252
+ }
253
+ try {
254
+ return JSON.parse(decoded);
255
+ }
256
+ catch (error) {
257
+ throw new Error("Unable to decode token, payload is not a valid JSON value. Error: " + error);
258
+ }
259
+ }
260
+ function base64UrlDecode(input) {
261
+ let output = input
262
+ .replace(/-/g, "+")
263
+ .replace(/_/g, "/");
264
+ switch (output.length % 4) {
265
+ case 0:
266
+ break;
267
+ case 2:
268
+ output += "==";
269
+ break;
270
+ case 3:
271
+ output += "=";
272
+ break;
273
+ default:
274
+ throw new Error("Input is not of the correct length.");
275
+ }
276
+ try {
277
+ return b64DecodeUnicode(output);
278
+ }
279
+ catch (error) {
280
+ return atob(output);
281
+ }
282
+ }
283
+ function b64DecodeUnicode(input) {
284
+ return decodeURIComponent(atob(input).replace(/(.)/g, (m, p) => {
285
+ let code = p.charCodeAt(0).toString(16).toUpperCase();
286
+ if (code.length < 2) {
287
+ code = "0" + code;
288
+ }
289
+ return "%" + code;
290
+ }));
291
+ }
222
292
  //# sourceMappingURL=RequestEnclave.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestEnclave.js","sourceRoot":"","sources":["../../../src/enclaves/RequestEnclave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestEnclave.js","sourceRoot":"","sources":["../../../src/enclaves/RequestEnclave.ts"],"names":[],"mappings":"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"}
@@ -93,23 +93,42 @@ class Heimdall {
93
93
  .forEach(iframe => iframe.remove());
94
94
  }
95
95
  async openHiddenIframe() {
96
- // Remove any existing iframes with heimdall id
97
- this.closeHiddenIframe();
98
- // 1. Create the iframe
99
- const iframe = document.createElement('iframe');
100
- iframe.src = this.getOrkUrl().toString();
101
- iframe.style.display = 'none'; // hide it visually
102
- iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
103
- iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
104
- // 2. Add it to the document
105
- document.body.appendChild(iframe);
106
- // 3. Keep a reference to its window for postMessage
107
- this.enclaveWindow = iframe.contentWindow;
108
- if (!this.enclaveWindow)
96
+ try {
97
+ // Remove any existing iframes with heimdall id
98
+ this.closeHiddenIframe();
99
+ // 1. Create the iframe
100
+ const iframe = document.createElement('iframe');
101
+ // Create iframe error listener
102
+ const iframeErrorListener = new Promise((res) => {
103
+ iframe.onerror = () => res(false);
104
+ iframe.addEventListener("error", () => {
105
+ res(false); // failed to load
106
+ });
107
+ });
108
+ iframe.src = this.getOrkUrl().toString();
109
+ iframe.style.display = 'none'; // hide it visually
110
+ iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
111
+ iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
112
+ // 2. Add it to the document
113
+ document.body.appendChild(iframe);
114
+ // 3. Keep a reference to its window for postMessage
115
+ this.enclaveWindow = iframe.contentWindow;
116
+ if (!this.enclaveWindow)
117
+ return false;
118
+ // Create an iframe success listener
119
+ const pageLoaded = new Promise(async (res) => {
120
+ await this.waitForWindowPostMessage("pageLoaded");
121
+ res(true); // page loaded
122
+ });
123
+ const timeout = new Promise((resolve) => {
124
+ setTimeout(() => resolve(false), 2000); // 2-second timeout
125
+ });
126
+ const loadedResult = await Promise.race([iframeErrorListener, pageLoaded, timeout]);
127
+ return loadedResult;
128
+ }
129
+ catch (_a) {
109
130
  return false;
110
- // 4. Wait for the iframe to signal it’s ready
111
- await this.waitForWindowPostMessage("pageLoaded");
112
- return true;
131
+ }
113
132
  }
114
133
  closePopupEnclave() {
115
134
  this.enclaveWindow.close();
@@ -134,7 +153,7 @@ class Heimdall {
134
153
  this.enclaveWindow.postMessage(message, this.enclaveOrigin);
135
154
  }
136
155
  processEvent(data, origin, expectedType) {
137
- if (origin !== this.enclaveOrigin) {
156
+ if (origin !== new URL(this.enclaveOrigin).origin) {
138
157
  // Something's not right... The message has come from an unknown domain...
139
158
  return { ok: false, print: false, error: "WRONG WINDOW SENT MESSAGE" };
140
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"heimdall.js","sourceRoot":"","sources":["../../src/heimdall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heimdall.js","sourceRoot":"","sources":["../../src/heimdall.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ export class RequestEnclave extends Heimdall {
9
9
  if (!data.doken)
10
10
  throw 'Doken not provided';
11
11
  this.doken = data.doken;
12
+ let parsedDoken = decodeToken(this.doken);
13
+ if (parsedDoken["t.uho"])
14
+ this.enclaveOrigin = parsedDoken["t.uho"]; // use tidecloak set user home ork from doken
12
15
  this.dokenRefreshCallback = data.dokenRefreshCallback;
13
16
  this.requireReloginCallback = data.requireReloginCallback;
14
17
  this.recieve("hidden enclave").then((data) => this.handleHiddenEnclaveResponse(data));
@@ -21,8 +24,22 @@ export class RequestEnclave extends Heimdall {
21
24
  }
22
25
  });
23
26
  }
24
- else
25
- throw 'Error opening enclave';
27
+ else {
28
+ // If injecting iframe fails, try setting it as a popup and opening it
29
+ this._windowType = windowType.Popup;
30
+ this.open().then((success) => {
31
+ if (success) {
32
+ this.send({
33
+ type: "init",
34
+ message: {
35
+ doken: this.doken
36
+ }
37
+ });
38
+ }
39
+ else
40
+ throw 'Error opening all types of Request Enclave';
41
+ });
42
+ }
26
43
  });
27
44
  return this;
28
45
  }
@@ -86,8 +103,10 @@ export class RequestEnclave extends Heimdall {
86
103
  }
87
104
  });
88
105
  }
89
- else
90
- throw 'Error opening enclave';
106
+ else {
107
+ window.alert("There was an issue opening the fallback popup on this page. Please enable popups or let the administrator know about this problem. For more information, visit https://tide.org/browserwindow");
108
+ throw "Could not open popup";
109
+ }
91
110
  });
92
111
  }
93
112
  this.recieve("hidden enclave").then((data) => this.handleHiddenEnclaveResponse(data));
@@ -215,4 +234,55 @@ export class RequestEnclave extends Heimdall {
215
234
  }
216
235
  }
217
236
  }
237
+ function decodeToken(token) {
238
+ const [header, payload] = token.split(".");
239
+ if (typeof payload !== "string") {
240
+ throw new Error("Unable to decode token, payload not found.");
241
+ }
242
+ let decoded;
243
+ try {
244
+ decoded = base64UrlDecode(payload);
245
+ }
246
+ catch (error) {
247
+ throw new Error("Unable to decode token, payload is not a valid Base64URL value. Error: " + error);
248
+ }
249
+ try {
250
+ return JSON.parse(decoded);
251
+ }
252
+ catch (error) {
253
+ throw new Error("Unable to decode token, payload is not a valid JSON value. Error: " + error);
254
+ }
255
+ }
256
+ function base64UrlDecode(input) {
257
+ let output = input
258
+ .replace(/-/g, "+")
259
+ .replace(/_/g, "/");
260
+ switch (output.length % 4) {
261
+ case 0:
262
+ break;
263
+ case 2:
264
+ output += "==";
265
+ break;
266
+ case 3:
267
+ output += "=";
268
+ break;
269
+ default:
270
+ throw new Error("Input is not of the correct length.");
271
+ }
272
+ try {
273
+ return b64DecodeUnicode(output);
274
+ }
275
+ catch (error) {
276
+ return atob(output);
277
+ }
278
+ }
279
+ function b64DecodeUnicode(input) {
280
+ return decodeURIComponent(atob(input).replace(/(.)/g, (m, p) => {
281
+ let code = p.charCodeAt(0).toString(16).toUpperCase();
282
+ if (code.length < 2) {
283
+ code = "0" + code;
284
+ }
285
+ return "%" + code;
286
+ }));
287
+ }
218
288
  //# sourceMappingURL=RequestEnclave.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestEnclave.js","sourceRoot":"","sources":["../../../src/enclaves/RequestEnclave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAenD,MAAM,OAAO,cAAe,SAAQ,QAAwB;IAA5D;;QAKI,gBAAW,GAAe,UAAU,CAAC,MAAM,CAAC;QAEpC,aAAQ,GAAiB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IA6N/D,CAAC;IA3NG,IAAI,CAAC,IAAgB;QACjB,IAAG,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,oBAAoB,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAE1D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClC,IAAG,OAAO,EAAC,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB;iBACJ,CAAC,CAAC;YACP,CAAC;;gBAAK,MAAM,uBAAuB,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,GAAQ;QACtC,uHAAuH;QACvH,wHAAwH;QACxH,wGAAwG;QACxG,uCAAuC;QACvC,8EAA8E;QAC9E,uGAAuG;QACvG,2JAA2J;QAC3J,0EAA0E;QAE1E,kCAAkC;QAClC,oBAAoB;QAEpB,0FAA0F;QAC1F,2FAA2F;QAC3F,2CAA2C;QAE3C,oBAAoB;QACpB,yBAAyB;QACzB,+BAA+B;QAC/B,kBAAkB;QAClB,wBAAwB;QACxB,oBAAoB;QACpB,gCAAgC;QAChC,YAAY;QACZ,UAAU;QACV,4BAA4B;QAC5B,2DAA2D;QAC3D,+BAA+B;QAC/B,qEAAqE;QAErE,8BAA8B;QAC9B,oBAAoB;QAEpB,qCAAqC;QACrC,4CAA4C;QAC5C,4BAA4B;QAC5B,+CAA+C;QAC/C,uBAAuB;QACvB,0BAA0B;QAC1B,gCAAgC;QAChC,6BAA6B;QAC7B,wCAAwC;QACxC,oBAAoB;QACpB,kBAAkB;QAClB,+CAA+C;QAC/C,UAAU;QAEV,IAAI;QACJ,IAAG,GAAG,IAAI,sBAAsB,EAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAC7F,CAAC;aACI,IAAG,GAAG,IAAI,eAAe,EAAC,CAAC;YAC5B,oCAAoC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAClC,IAAG,OAAO,EAAC,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACL,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;gBACP,CAAC;;oBAAK,MAAM,uBAAuB,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS;QACL,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExC,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEzF,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhD,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3E,0CAA0C;QAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEjF,kBAAkB;QAClB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAExE,yBAAyB;QACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,gBAAgB;QACZ,IAAG,IAAI,CAAC,aAAa,EAAE,EAAC,CAAC;YACrB,sBAAsB;YACtB,yDAAyD;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAClC,IAAG,OAAO,EAAC,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAC;4BACJ,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;gBACP,CAAC;;oBAAK,MAAM,uBAAuB,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAgB;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAC;gBACJ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAoB;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAC;gBACJ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAoB;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,eAAe;YACrB,OAAO,EAAC;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,IAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAC,CAAC;YACjC,QAAO,IAAI,CAAC,OAAO,EAAC,CAAC;gBACjB,KAAK,SAAS;oBACV,IAAG,CAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;wBAC3B,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;wBAC3G,OAAO;oBACX,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAC;4BACJ,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;oBACH,MAAM;gBACV;oBACI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"RequestEnclave.js","sourceRoot":"","sources":["../../../src/enclaves/RequestEnclave.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAenD,MAAM,OAAO,cAAe,SAAQ,QAAwB;IAA5D;;QAKI,gBAAW,GAAe,UAAU,CAAC,MAAM,CAAC;QAEpC,aAAQ,GAAiB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAgP/D,CAAC;IA9OG,IAAI,CAAC,IAAgB;QACjB,IAAG,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,oBAAoB,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAG,WAAW,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,6CAA6C;QACjH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAE1D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClC,IAAG,OAAO,EAAC,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACL,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB;iBACJ,CAAC,CAAC;YACP,CAAC;iBAAI,CAAC;gBACF,sEAAsE;gBACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;oBAClC,IAAG,OAAO,EAAC,CAAC;wBACR,IAAI,CAAC,IAAI,CAAC;4BACN,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACL,KAAK,EAAE,IAAI,CAAC,KAAK;6BACpB;yBACJ,CAAC,CAAC;oBACP,CAAC;;wBACI,MAAM,4CAA4C,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,GAAQ;QACtC,uHAAuH;QACvH,wHAAwH;QACxH,wGAAwG;QACxG,uCAAuC;QACvC,8EAA8E;QAC9E,uGAAuG;QACvG,2JAA2J;QAC3J,0EAA0E;QAE1E,kCAAkC;QAClC,oBAAoB;QAEpB,0FAA0F;QAC1F,2FAA2F;QAC3F,2CAA2C;QAE3C,oBAAoB;QACpB,yBAAyB;QACzB,+BAA+B;QAC/B,kBAAkB;QAClB,wBAAwB;QACxB,oBAAoB;QACpB,gCAAgC;QAChC,YAAY;QACZ,UAAU;QACV,4BAA4B;QAC5B,2DAA2D;QAC3D,+BAA+B;QAC/B,qEAAqE;QAErE,8BAA8B;QAC9B,oBAAoB;QAEpB,qCAAqC;QACrC,4CAA4C;QAC5C,4BAA4B;QAC5B,+CAA+C;QAC/C,uBAAuB;QACvB,0BAA0B;QAC1B,gCAAgC;QAChC,6BAA6B;QAC7B,wCAAwC;QACxC,oBAAoB;QACpB,kBAAkB;QAClB,+CAA+C;QAC/C,UAAU;QAEV,IAAI;QACJ,IAAG,GAAG,IAAI,sBAAsB,EAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,0DAA0D;QAC7F,CAAC;aACI,IAAG,GAAG,IAAI,eAAe,EAAC,CAAC;YAC5B,oCAAoC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAClC,IAAG,OAAO,EAAC,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACL,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;gBACP,CAAC;qBAAI,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,+LAA+L,CAAC,CAAC;oBAC9M,MAAM,sBAAsB,CAAC;gBACjC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS;QACL,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExC,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEzF,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhD,oBAAoB;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3E,0CAA0C;QAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEjF,kBAAkB;QAClB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAExE,yBAAyB;QACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,gBAAgB;QACZ,IAAG,IAAI,CAAC,aAAa,EAAE,EAAC,CAAC;YACrB,sBAAsB;YACtB,yDAAyD;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAClC,IAAG,OAAO,EAAC,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAC;4BACJ,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;gBACP,CAAC;;oBAAK,MAAM,uBAAuB,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAgB;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAC;gBACJ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAoB;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAC;gBACJ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAoB;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,sDAAsD,GAAG,IAAI,CAAC;QAC7F,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC;YAAE,MAAM,qDAAqD,CAAC;QACjH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,eAAe;YACrB,OAAO,EAAC;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,IAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAC,CAAC;YACjC,QAAO,IAAI,CAAC,OAAO,EAAC,CAAC;gBACjB,KAAK,SAAS;oBACV,IAAG,CAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;wBAC3B,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;wBAC3G,OAAO;oBACX,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,CAAC;wBACN,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAC;4BACJ,KAAK,EAAE,IAAI,CAAC,KAAK;yBACpB;qBACJ,CAAC,CAAC;oBACH,MAAM;gBACV;oBACI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,CAAC;IAEZ,IAAI,CAAC;QACD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yEAAyE,GAAG,KAAK,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oEAAoE,GAAG,KAAK,CAAC,CAAC;IAClG,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IAClC,IAAI,MAAM,GAAG,KAAK;SACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAExB,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC;YACF,MAAM;QACV,KAAK,CAAC;YACF,MAAM,IAAI,IAAI,CAAC;YACf,MAAM;QACV,KAAK,CAAC;YACF,MAAM,IAAI,GAAG,CAAC;YACd,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACnC,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3D,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,GAAG,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -90,23 +90,42 @@ export class Heimdall {
90
90
  .forEach(iframe => iframe.remove());
91
91
  }
92
92
  async openHiddenIframe() {
93
- // Remove any existing iframes with heimdall id
94
- this.closeHiddenIframe();
95
- // 1. Create the iframe
96
- const iframe = document.createElement('iframe');
97
- iframe.src = this.getOrkUrl().toString();
98
- iframe.style.display = 'none'; // hide it visually
99
- iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
100
- iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
101
- // 2. Add it to the document
102
- document.body.appendChild(iframe);
103
- // 3. Keep a reference to its window for postMessage
104
- this.enclaveWindow = iframe.contentWindow;
105
- if (!this.enclaveWindow)
93
+ try {
94
+ // Remove any existing iframes with heimdall id
95
+ this.closeHiddenIframe();
96
+ // 1. Create the iframe
97
+ const iframe = document.createElement('iframe');
98
+ // Create iframe error listener
99
+ const iframeErrorListener = new Promise((res) => {
100
+ iframe.onerror = () => res(false);
101
+ iframe.addEventListener("error", () => {
102
+ res(false); // failed to load
103
+ });
104
+ });
105
+ iframe.src = this.getOrkUrl().toString();
106
+ iframe.style.display = 'none'; // hide it visually
107
+ iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
108
+ iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
109
+ // 2. Add it to the document
110
+ document.body.appendChild(iframe);
111
+ // 3. Keep a reference to its window for postMessage
112
+ this.enclaveWindow = iframe.contentWindow;
113
+ if (!this.enclaveWindow)
114
+ return false;
115
+ // Create an iframe success listener
116
+ const pageLoaded = new Promise(async (res) => {
117
+ await this.waitForWindowPostMessage("pageLoaded");
118
+ res(true); // page loaded
119
+ });
120
+ const timeout = new Promise((resolve) => {
121
+ setTimeout(() => resolve(false), 2000); // 2-second timeout
122
+ });
123
+ const loadedResult = await Promise.race([iframeErrorListener, pageLoaded, timeout]);
124
+ return loadedResult;
125
+ }
126
+ catch (_a) {
106
127
  return false;
107
- // 4. Wait for the iframe to signal it’s ready
108
- await this.waitForWindowPostMessage("pageLoaded");
109
- return true;
128
+ }
110
129
  }
111
130
  closePopupEnclave() {
112
131
  this.enclaveWindow.close();
@@ -131,7 +150,7 @@ export class Heimdall {
131
150
  this.enclaveWindow.postMessage(message, this.enclaveOrigin);
132
151
  }
133
152
  processEvent(data, origin, expectedType) {
134
- if (origin !== this.enclaveOrigin) {
153
+ if (origin !== new URL(this.enclaveOrigin).origin) {
135
154
  // Something's not right... The message has come from an unknown domain...
136
155
  return { ok: false, print: false, error: "WRONG WINDOW SENT MESSAGE" };
137
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"heimdall.js","sourceRoot":"","sources":["../../src/heimdall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heimdall.js","sourceRoot":"","sources":["../../src/heimdall.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "heimdall-tide",
3
- "version": "0.12.14",
3
+ "version": "0.12.15",
4
4
  "description": "SDK for communicating with a Tide Enclave",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -26,6 +26,8 @@ export class RequestEnclave extends Heimdall<RequestEnclave>{
26
26
  if(!data.doken) throw 'Doken not provided';
27
27
 
28
28
  this.doken = data.doken;
29
+ let parsedDoken = decodeToken(this.doken);
30
+ if(parsedDoken["t.uho"]) this.enclaveOrigin = parsedDoken["t.uho"]; // use tidecloak set user home ork from doken
29
31
  this.dokenRefreshCallback = data.dokenRefreshCallback;
30
32
  this.requireReloginCallback = data.requireReloginCallback;
31
33
 
@@ -39,7 +41,21 @@ export class RequestEnclave extends Heimdall<RequestEnclave>{
39
41
  doken: this.doken
40
42
  }
41
43
  });
42
- }else throw 'Error opening enclave';
44
+ }else{
45
+ // If injecting iframe fails, try setting it as a popup and opening it
46
+ this._windowType = windowType.Popup;
47
+ this.open().then((success: boolean) => {
48
+ if(success){
49
+ this.send({
50
+ type: "init",
51
+ message: {
52
+ doken: this.doken
53
+ }
54
+ });
55
+ }
56
+ else throw 'Error opening all types of Request Enclave';
57
+ });
58
+ }
43
59
  });
44
60
 
45
61
  return this;
@@ -110,7 +126,10 @@ export class RequestEnclave extends Heimdall<RequestEnclave>{
110
126
  doken: this.doken
111
127
  }
112
128
  });
113
- }else throw 'Error opening enclave';
129
+ }else{
130
+ window.alert("There was an issue opening the fallback popup on this page. Please enable popups or let the administrator know about this problem. For more information, visit https://tide.org/browserwindow");
131
+ throw "Could not open popup";
132
+ }
114
133
  });
115
134
  }
116
135
 
@@ -243,6 +262,65 @@ export class RequestEnclave extends Heimdall<RequestEnclave>{
243
262
  }
244
263
  }
245
264
 
265
+ function decodeToken(token: string): any {
266
+ const [header, payload] = token.split(".");
267
+
268
+ if (typeof payload !== "string") {
269
+ throw new Error("Unable to decode token, payload not found.");
270
+ }
271
+
272
+ let decoded;
273
+
274
+ try {
275
+ decoded = base64UrlDecode(payload);
276
+ } catch (error) {
277
+ throw new Error("Unable to decode token, payload is not a valid Base64URL value. Error: " + error);
278
+ }
279
+
280
+ try {
281
+ return JSON.parse(decoded);
282
+ } catch (error) {
283
+ throw new Error("Unable to decode token, payload is not a valid JSON value. Error: " + error);
284
+ }
285
+ }
286
+
287
+ function base64UrlDecode(input: string): string {
288
+ let output = input
289
+ .replace(/-/g, "+")
290
+ .replace(/_/g, "/");
291
+
292
+ switch (output.length % 4) {
293
+ case 0:
294
+ break;
295
+ case 2:
296
+ output += "==";
297
+ break;
298
+ case 3:
299
+ output += "=";
300
+ break;
301
+ default:
302
+ throw new Error("Input is not of the correct length.");
303
+ }
304
+
305
+ try {
306
+ return b64DecodeUnicode(output);
307
+ } catch (error) {
308
+ return atob(output);
309
+ }
310
+ }
311
+
312
+ function b64DecodeUnicode(input: string): string {
313
+ return decodeURIComponent(atob(input).replace(/(.)/g, (m, p) => {
314
+ let code = p.charCodeAt(0).toString(16).toUpperCase();
315
+
316
+ if (code.length < 2) {
317
+ code = "0" + code;
318
+ }
319
+
320
+ return "%" + code;
321
+ }));
322
+ }
323
+
246
324
  interface decryptRequest{
247
325
  encrypted: Uint8Array;
248
326
  tags: string[]
package/src/heimdall.ts CHANGED
@@ -114,27 +114,49 @@ export abstract class Heimdall<T> implements EnclaveFlow<T> {
114
114
  }
115
115
 
116
116
  private async openHiddenIframe() {
117
- // Remove any existing iframes with heimdall id
118
- this.closeHiddenIframe();
119
-
120
- // 1. Create the iframe
121
- const iframe = document.createElement('iframe');
122
- iframe.src = this.getOrkUrl().toString();
123
- iframe.style.display = 'none'; // hide it visually
124
- iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
125
- iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
126
-
127
- // 2. Add it to the document
128
- document.body.appendChild(iframe);
129
-
130
- // 3. Keep a reference to its window for postMessage
131
- this.enclaveWindow = iframe.contentWindow;
132
- if (!this.enclaveWindow) return false;
133
-
134
- // 4. Wait for the iframe to signal it’s ready
135
- await this.waitForWindowPostMessage("pageLoaded");
136
-
137
- return true;
117
+ try{
118
+ // Remove any existing iframes with heimdall id
119
+ this.closeHiddenIframe();
120
+
121
+ // 1. Create the iframe
122
+ const iframe = document.createElement('iframe');
123
+
124
+ // Create iframe error listener
125
+ const iframeErrorListener = new Promise<boolean>((res) => {
126
+ iframe.onerror = () => res(false);
127
+ iframe.addEventListener("error", () => {
128
+ res(false); // failed to load
129
+ });
130
+ });
131
+
132
+ iframe.src = this.getOrkUrl().toString();
133
+ iframe.style.display = 'none'; // hide it visually
134
+ iframe.id = "heimdall"; // in case multiple frames get popped up - we only want one
135
+ iframe.setAttribute('aria-hidden', 'true'); // accessibility hint
136
+
137
+ // 2. Add it to the document
138
+ document.body.appendChild(iframe);
139
+
140
+ // 3. Keep a reference to its window for postMessage
141
+ this.enclaveWindow = iframe.contentWindow;
142
+ if (!this.enclaveWindow) return false;
143
+
144
+ // Create an iframe success listener
145
+ const pageLoaded = new Promise<boolean>(async (res) => {
146
+ await this.waitForWindowPostMessage("pageLoaded");
147
+ res(true); // page loaded
148
+ });
149
+
150
+ const timeout = new Promise<boolean>((resolve) => {
151
+ setTimeout(() => resolve(false), 2000); // 2-second timeout
152
+ });
153
+
154
+ const loadedResult = await Promise.race([iframeErrorListener, pageLoaded, timeout]);
155
+
156
+ return loadedResult;
157
+ }catch{
158
+ return false;
159
+ }
138
160
  }
139
161
 
140
162
  private closePopupEnclave() {
@@ -161,7 +183,7 @@ export abstract class Heimdall<T> implements EnclaveFlow<T> {
161
183
  }
162
184
 
163
185
  private processEvent(data: any, origin: string, expectedType: string){
164
- if (origin !== this.enclaveOrigin) {
186
+ if (origin !== new URL(this.enclaveOrigin).origin) {
165
187
  // Something's not right... The message has come from an unknown domain...
166
188
  return {ok: false, print: false, error: "WRONG WINDOW SENT MESSAGE"};
167
189
  }
Binary file