@benji-money/connect-sdk 1.1.4-beta.7 → 1.1.4-beta.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.
- package/dist/connect-sdk.umd.global.js +25 -80
- package/dist/connect-sdk.umd.global.js.map +1 -1
- package/dist/index.cjs +25 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +25 -80
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -110,7 +110,7 @@ var ConnectSDK = (() => {
|
|
|
110
110
|
// src/utils/config.ts
|
|
111
111
|
var buildContext = () => ({
|
|
112
112
|
namespace: "benji-connect-sdk" ? "benji-connect-sdk" : "benji-connect-sdk",
|
|
113
|
-
version: "1.1.4-beta.
|
|
113
|
+
version: "1.1.4-beta.8" ? String("1.1.4-beta.8") : "0.0.0"
|
|
114
114
|
});
|
|
115
115
|
function isBenjiConnectEnvironment(environment) {
|
|
116
116
|
return environment === "local" /* LOCAL */ || environment === "development" /* DEVELOPMENT */ || environment === "sandbox" /* SANDBOX */ || environment === "production" /* PRODUCTION */;
|
|
@@ -258,89 +258,35 @@ var ConnectSDK = (() => {
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
// src/utils/verifyAppUrl.ts
|
|
261
|
-
var
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
269
|
-
function rewriteParsedUrl(raw, local) {
|
|
270
|
-
let parsed;
|
|
271
|
-
try {
|
|
272
|
-
parsed = new URL(raw);
|
|
273
|
-
} catch {
|
|
274
|
-
return raw;
|
|
275
|
-
}
|
|
276
|
-
let changed = false;
|
|
277
|
-
if (VERIFYAPP_HOST.test(parsed.hostname)) {
|
|
278
|
-
parsed.protocol = local.protocol;
|
|
279
|
-
parsed.hostname = local.hostname;
|
|
280
|
-
parsed.port = local.port;
|
|
281
|
-
changed = true;
|
|
282
|
-
}
|
|
283
|
-
for (const key of parsed.searchParams.keys()) {
|
|
284
|
-
const value = parsed.searchParams.get(key);
|
|
285
|
-
if (value == null) {
|
|
286
|
-
continue;
|
|
287
|
-
}
|
|
288
|
-
const decoded = safeDecode(value);
|
|
289
|
-
const nested = rewriteParsedUrl(decoded, local);
|
|
290
|
-
if (nested !== decoded) {
|
|
291
|
-
parsed.searchParams.set(key, nested);
|
|
292
|
-
changed = true;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
return changed ? parsed.toString() : raw;
|
|
296
|
-
}
|
|
297
|
-
function rewriteVerifyAppHostsInString(value, local) {
|
|
298
|
-
const localOrigin = local.origin;
|
|
299
|
-
const localHalfEncoded = `${local.protocol.replace(":", "")}%3A//${local.host}`;
|
|
300
|
-
const localFullyEncodedOrigin = encodeURIComponent(localOrigin);
|
|
301
|
-
let result = value;
|
|
302
|
-
result = result.replace(
|
|
303
|
-
/https:\/\/verifyapp(?:-[a-z0-9]+)?\.withbenji\.com/gi,
|
|
304
|
-
localOrigin
|
|
305
|
-
);
|
|
306
|
-
result = result.replace(
|
|
307
|
-
/https%3A\/\/verifyapp(?:-[a-z0-9]+)?\.withbenji\.com/gi,
|
|
308
|
-
localHalfEncoded
|
|
309
|
-
);
|
|
310
|
-
result = result.replace(
|
|
311
|
-
/https%3A%2F%2Fverifyapp(?:-[a-z0-9]+)?\.withbenji\.com/gi,
|
|
312
|
-
localFullyEncodedOrigin
|
|
313
|
-
);
|
|
314
|
-
return result;
|
|
315
|
-
}
|
|
316
|
-
function rewriteVerifyAppUrlForLocalConnect(partnerLoginLink, localOrigin) {
|
|
317
|
-
if (!partnerLoginLink || !localOrigin) {
|
|
318
|
-
return partnerLoginLink;
|
|
319
|
-
}
|
|
320
|
-
let local;
|
|
321
|
-
try {
|
|
322
|
-
local = new URL(localOrigin);
|
|
323
|
-
} catch {
|
|
261
|
+
var DEFAULT_LOCAL_VERIFY_ORIGIN = "http://localhost:3000";
|
|
262
|
+
var REMOTE_VERIFY_ORIGINS = [
|
|
263
|
+
"https://verifyapp-staging.withbenji.com",
|
|
264
|
+
"https://verifyapp-dev.withbenji.com"
|
|
265
|
+
];
|
|
266
|
+
function rewriteVerifyAppUrlForLocalConnect(partnerLoginLink, localOrigin = DEFAULT_LOCAL_VERIFY_ORIGIN) {
|
|
267
|
+
if (!partnerLoginLink) {
|
|
324
268
|
return partnerLoginLink;
|
|
325
269
|
}
|
|
326
|
-
|
|
327
|
-
|
|
270
|
+
let url = partnerLoginLink;
|
|
271
|
+
for (const remote of REMOTE_VERIFY_ORIGINS) {
|
|
272
|
+
url = url.replaceAll(remote, localOrigin);
|
|
273
|
+
url = url.replaceAll(
|
|
274
|
+
remote.replace(/^https:\/\//, "https%3A//"),
|
|
275
|
+
localOrigin.replace(/^http:\/\//, "http%3A//")
|
|
276
|
+
);
|
|
277
|
+
url = url.replaceAll(encodeURIComponent(remote), encodeURIComponent(localOrigin));
|
|
328
278
|
}
|
|
329
|
-
|
|
330
|
-
result = rewriteParsedUrl(result, local);
|
|
331
|
-
return result;
|
|
279
|
+
return url;
|
|
332
280
|
}
|
|
333
281
|
|
|
334
282
|
// src/utils/loginTransport.ts
|
|
335
|
-
function
|
|
336
|
-
|
|
337
|
-
const isSafari = /Safari/.test(userAgent) && !/CriOS|FxiOS|EdgiOS|OPiOS|Chrome/.test(userAgent);
|
|
338
|
-
return isIos && isSafari;
|
|
283
|
+
function isIosDevice(userAgent, maxTouchPoints) {
|
|
284
|
+
return /iPhone|iPad|iPod/.test(userAgent) || userAgent.includes("Macintosh") && maxTouchPoints > 1;
|
|
339
285
|
}
|
|
340
286
|
function shouldUseSameTabLogin(args) {
|
|
341
287
|
if (!args.isNonDummyLogin) return false;
|
|
342
288
|
if (args.forceRedirect) return true;
|
|
343
|
-
return
|
|
289
|
+
return isIosDevice(args.userAgent, args.maxTouchPoints);
|
|
344
290
|
}
|
|
345
291
|
function isNonDummyLogin(mode, authType) {
|
|
346
292
|
return mode === 5 /* LOGIN */ && authType != null && authType !== 0 /* DUMMY */;
|
|
@@ -442,10 +388,10 @@ var ConnectSDK = (() => {
|
|
|
442
388
|
args.returnOrigin
|
|
443
389
|
);
|
|
444
390
|
}
|
|
445
|
-
if (!args.rewriteForLocalConnect
|
|
391
|
+
if (!args.rewriteForLocalConnect) {
|
|
446
392
|
return prepared;
|
|
447
393
|
}
|
|
448
|
-
return rewriteVerifyAppUrlForLocalConnect(prepared
|
|
394
|
+
return rewriteVerifyAppUrlForLocalConnect(prepared);
|
|
449
395
|
}
|
|
450
396
|
|
|
451
397
|
// src/utils/placement.ts
|
|
@@ -1610,13 +1556,11 @@ var ConnectSDK = (() => {
|
|
|
1610
1556
|
return;
|
|
1611
1557
|
}
|
|
1612
1558
|
const rewriteForLocalConnect = Environment === "local" /* LOCAL */;
|
|
1613
|
-
const localVerifyOrigin = rewriteForLocalConnect ? new URL(Endpoints.benji_connect_auth_url).origin : void 0;
|
|
1614
1559
|
const returnOrigin = window.location.origin;
|
|
1615
1560
|
const url = buildSameTabPartnerAuthUrl({
|
|
1616
1561
|
partnerAuthLink,
|
|
1617
1562
|
configToken: (_d = this.sdkConfig.tokenData) == null ? void 0 : _d.configToken,
|
|
1618
1563
|
rewriteForLocalConnect,
|
|
1619
|
-
localVerifyOrigin,
|
|
1620
1564
|
returnOrigin
|
|
1621
1565
|
});
|
|
1622
1566
|
try {
|
|
@@ -1680,7 +1624,8 @@ var ConnectSDK = (() => {
|
|
|
1680
1624
|
const partnerAuthLink = (_a = this.sdkConfig.tokenData) == null ? void 0 : _a.partnerAuthLink;
|
|
1681
1625
|
const configToken = (_b = this.sdkConfig.tokenData) == null ? void 0 : _b.configToken;
|
|
1682
1626
|
const preparedLink = partnerAuthLink && configToken ? preparePartnerAuthUrl(partnerAuthLink, configToken) : partnerAuthLink;
|
|
1683
|
-
const
|
|
1627
|
+
const popupLink = preparedLink && Environment === "local" /* LOCAL */ ? rewriteVerifyAppUrlForLocalConnect(preparedLink) : preparedLink;
|
|
1628
|
+
const popupUrl = popupLink ? appendLoginPopupFlag(popupLink) : "about:blank";
|
|
1684
1629
|
this.loginPopup = window.open(
|
|
1685
1630
|
popupUrl,
|
|
1686
1631
|
LOGIN_PARTNER_POPUP_NAME,
|
|
@@ -1696,7 +1641,7 @@ var ConnectSDK = (() => {
|
|
|
1696
1641
|
);
|
|
1697
1642
|
return false;
|
|
1698
1643
|
}
|
|
1699
|
-
if (
|
|
1644
|
+
if (popupLink) {
|
|
1700
1645
|
this.hasLoginPopupUrl = true;
|
|
1701
1646
|
} else {
|
|
1702
1647
|
writeLoginPopupLoadingDocument(this.loginPopup);
|