@tryfinch/react-connect 3.6.0 → 3.7.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/README.md +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +9 -9
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/example/src/App.tsx +1 -0
- package/package.json +1 -1
- package/src/index.ts +12 -15
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ const App = () => {
|
|
|
27
27
|
products: ['company', 'directory'],
|
|
28
28
|
// Check Finch's [documentation](https://developer.tryfinch.com/docs/reference/96f5be9e0ec1a-providers) for the full list of payroll provider IDs
|
|
29
29
|
// payrollProvider: '<payroll-provider-id>',
|
|
30
|
+
// For `sandbox`, omit or use 'false' if in production. Use "finch" or "provider" for sandbox testing, depending on test plan. See Finch's [documentation](https://developer.tryfinch.com/implementation-guide/Test/Testing-Plan) for an overview of Finch and Provider sandboxes.
|
|
30
31
|
// sandbox: false,
|
|
31
32
|
// manual: false,
|
|
32
33
|
// zIndex: 999,
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,10 @@ export type ConnectOptions = {
|
|
|
18
18
|
products: string[];
|
|
19
19
|
sandbox: Sandbox;
|
|
20
20
|
zIndex: number;
|
|
21
|
-
|
|
21
|
+
apiConfig?: {
|
|
22
|
+
connectUrl: string;
|
|
23
|
+
redirectUrl: string;
|
|
24
|
+
};
|
|
22
25
|
};
|
|
23
26
|
type OpenFn = (overrides?: Partial<Pick<ConnectOptions, 'products' | 'state' | 'payrollProvider'>>) => void;
|
|
24
27
|
export declare const useFinchConnect: (options: Partial<ConnectOptions>) => {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,0DAA0D,GAClE,UAAU,CAAC,iDAAiD,GAC5D,OAAO,CAAC,wEAAwE,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,OAAO,CAAC,0DAA0D,GAClE,UAAU,CAAC,iDAAiD,GAC5D,OAAO,CAAC,wEAAwE,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,KAAK,MAAM,GAAG,CACZ,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC,KAChF,IAAI,CAAC;AAiFV,eAAO,MAAM,eAAe,YAAa,QAAQ,cAAc,CAAC;UAAW,MAAM;CAmGhF,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -2,13 +2,12 @@ import { useRef, useEffect } from 'react';
|
|
|
2
2
|
|
|
3
3
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
4
4
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
5
|
-
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
6
|
-
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
7
5
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
8
6
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
9
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state,
|
|
10
|
-
const
|
|
11
|
-
const
|
|
7
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, apiConfig, }) => {
|
|
8
|
+
const CONNECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
9
|
+
const REDIRECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.redirectUrl) || DEFAULT_FINCH_REDIRECT_URI;
|
|
10
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
12
11
|
if (clientId)
|
|
13
12
|
authUrl.searchParams.append('client_id', clientId);
|
|
14
13
|
if (payrollProvider)
|
|
@@ -17,7 +16,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
17
16
|
authUrl.searchParams.append('category', category);
|
|
18
17
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
19
18
|
authUrl.searchParams.append('app_type', 'spa');
|
|
20
|
-
authUrl.searchParams.append('redirect_uri',
|
|
19
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
21
20
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
22
21
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
23
22
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -28,7 +27,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
28
27
|
if (state)
|
|
29
28
|
authUrl.searchParams.append('state', state);
|
|
30
29
|
// replace with actual SDK version by rollup
|
|
31
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
30
|
+
authUrl.searchParams.append('sdk_version', 'react-3.7.0');
|
|
32
31
|
return authUrl.href;
|
|
33
32
|
};
|
|
34
33
|
const noop = () => {
|
|
@@ -45,7 +44,6 @@ const DEFAULT_OPTIONS = {
|
|
|
45
44
|
sandbox: false,
|
|
46
45
|
state: null,
|
|
47
46
|
zIndex: 999,
|
|
48
|
-
finchDevMode: false,
|
|
49
47
|
};
|
|
50
48
|
let isUseFinchConnectInitialized = false;
|
|
51
49
|
const useFinchConnect = (options) => {
|
|
@@ -92,11 +90,13 @@ const useFinchConnect = (options) => {
|
|
|
92
90
|
};
|
|
93
91
|
useEffect(() => {
|
|
94
92
|
function handleFinchAuth(event) {
|
|
93
|
+
var _a;
|
|
94
|
+
const CONNECT_URL = ((_a = combinedOptions.apiConfig) === null || _a === void 0 ? void 0 : _a.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
95
95
|
if (!event.data)
|
|
96
96
|
return;
|
|
97
97
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
98
98
|
return;
|
|
99
|
-
if (!event.origin.startsWith(
|
|
99
|
+
if (!event.origin.startsWith(CONNECT_URL))
|
|
100
100
|
return;
|
|
101
101
|
close();
|
|
102
102
|
switch (event.data.kind) {
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,13 +6,12 @@ var react = require('react');
|
|
|
6
6
|
|
|
7
7
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
8
8
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
9
|
-
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
10
|
-
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
11
9
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
12
10
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
13
|
-
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state,
|
|
14
|
-
const
|
|
15
|
-
const
|
|
11
|
+
const constructAuthUrl = ({ clientId, payrollProvider, category, products, manual, sandbox, state, apiConfig, }) => {
|
|
12
|
+
const CONNECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
13
|
+
const REDIRECT_URL = (apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.redirectUrl) || DEFAULT_FINCH_REDIRECT_URI;
|
|
14
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
16
15
|
if (clientId)
|
|
17
16
|
authUrl.searchParams.append('client_id', clientId);
|
|
18
17
|
if (payrollProvider)
|
|
@@ -21,7 +20,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
21
20
|
authUrl.searchParams.append('category', category);
|
|
22
21
|
authUrl.searchParams.append('products', (products !== null && products !== void 0 ? products : []).join(' '));
|
|
23
22
|
authUrl.searchParams.append('app_type', 'spa');
|
|
24
|
-
authUrl.searchParams.append('redirect_uri',
|
|
23
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
25
24
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
26
25
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
27
26
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -32,7 +31,7 @@ const constructAuthUrl = ({ clientId, payrollProvider, category, products, manua
|
|
|
32
31
|
if (state)
|
|
33
32
|
authUrl.searchParams.append('state', state);
|
|
34
33
|
// replace with actual SDK version by rollup
|
|
35
|
-
authUrl.searchParams.append('sdk_version', 'react-3.
|
|
34
|
+
authUrl.searchParams.append('sdk_version', 'react-3.7.0');
|
|
36
35
|
return authUrl.href;
|
|
37
36
|
};
|
|
38
37
|
const noop = () => {
|
|
@@ -49,7 +48,6 @@ const DEFAULT_OPTIONS = {
|
|
|
49
48
|
sandbox: false,
|
|
50
49
|
state: null,
|
|
51
50
|
zIndex: 999,
|
|
52
|
-
finchDevMode: false,
|
|
53
51
|
};
|
|
54
52
|
let isUseFinchConnectInitialized = false;
|
|
55
53
|
const useFinchConnect = (options) => {
|
|
@@ -96,11 +94,13 @@ const useFinchConnect = (options) => {
|
|
|
96
94
|
};
|
|
97
95
|
react.useEffect(() => {
|
|
98
96
|
function handleFinchAuth(event) {
|
|
97
|
+
var _a;
|
|
98
|
+
const CONNECT_URL = ((_a = combinedOptions.apiConfig) === null || _a === void 0 ? void 0 : _a.connectUrl) || BASE_FINCH_CONNECT_URI;
|
|
99
99
|
if (!event.data)
|
|
100
100
|
return;
|
|
101
101
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME)
|
|
102
102
|
return;
|
|
103
|
-
if (!event.origin.startsWith(
|
|
103
|
+
if (!event.origin.startsWith(CONNECT_URL))
|
|
104
104
|
return;
|
|
105
105
|
close();
|
|
106
106
|
switch (event.data.kind) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/src/index.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":";;;;;;AA4DA,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAC9D,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAE1D,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AACvD,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,MAAM,gBAAgB,GAAG,CAAC,EACxB,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACe,KAAI;AAC5B,IAAA,MAAM,WAAW,GAAG,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,UAAU,KAAI,sBAAsB,CAAC;AACpE,IAAA,MAAM,YAAY,GAAG,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,WAAW,KAAI,0BAA0B,CAAC;IAE1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAG,EAAA,WAAW,CAAY,UAAA,CAAA,CAAC,CAAC;AACpD,IAAA,IAAI,QAAQ;QAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACjE,IAAA,IAAI,eAAe;QAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;AACtF,IAAA,IAAI,QAAQ;QAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;;AAE1D,IAAA,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAChD,IAAA,IAAI,MAAM;AAAE,QAAA,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,IAAA,IAAI,OAAO;AAAE,QAAA,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,IAAA,IAAI,KAAK;QAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;;IAEvD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,aAAmB,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAK;;AAElB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAqC;AACxD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,IAAI,4BAA4B,GAAG,KAAK,CAAC;AAE5B,MAAA,eAAe,GAAG,CAAC,OAAgC,KAAsB;IACpF,IAAI,CAAC,OAAO,CAAC,QAAQ;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC/F,IAAA,MAAM,aAAa,GAAGA,YAAM,CAAC,KAAK,CAAC,CAAC;IAEpCC,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,4BAA4B,EAAE;AAChC,gBAAA,OAAO,CAAC,KAAK,CACX,6OAA6O,CAC9O,CAAC;AACH,aAAA;AAAM,iBAAA;gBACL,4BAA4B,GAAG,IAAI,CAAC;AACrC,aAAA;AAED,YAAA,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GACnB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,QAAQ,EAAE,EAAE,IACT,eAAe,CAAA,EACf,OAAO,CACX,CAAC;AAEF,IAAA,MAAM,IAAI,GAAW,CAAC,SAAS,KAAI;AACjC,QAAA,MAAM,WAAW,GACZ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,eAAe,CACf,EAAA,SAAS,CACb,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE;YACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,YAAA,MAAM,CAAC,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC3C,YAAA,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;AACzB,YAAA,MAAM,CAAC,EAAE,GAAG,uBAAuB,CAAC;AACpC,YAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpD,YAAA,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,YAAA,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;AAC5B,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;AACvB,YAAA,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,kBAAkB,CAAC;AAClD,YAAA,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,YAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzC,SAAA;AACH,KAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAK;;QACjB,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AACvE,QAAA,IAAI,aAAa,EAAE;YACjB,CAAA,EAAA,GAAA,aAAa,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,CAAC,aAAa,CAAC,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC1C,SAAA;AACH,KAAC,CAAC;IAEFA,eAAS,CAAC,MAAK;QACb,SAAS,eAAe,CAAC,KAA8B,EAAA;;YACrD,MAAM,WAAW,GAAG,CAAA,CAAA,EAAA,GAAA,eAAe,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,KAAI,sBAAsB,CAAC;YAEpF,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO;AACxB,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB;gBAAE,OAAO;YACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO;AAElD,YAAA,KAAK,EAAE,CAAC;AAER,YAAA,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI;AACrB,gBAAA,KAAK,QAAQ;oBACX,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM;AACR,gBAAA,KAAK,OAAO;AACV,oBAAA,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC5D,MAAM;AACR,gBAAA,KAAK,SAAS;oBACZ,eAAe,CAAC,SAAS,CAAC;AACxB,wBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;AACrB,wBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;AACxB,qBAAA,CAAC,CAAC;oBACH,MAAM;AACR,gBAAA,SAAS;;oBAEP,eAAe,CAAC,OAAO,CAAC;wBACtB,YAAY,EAAE,CAAgF,6EAAA,EAAA,IAAI,CAAC,SAAS,CAC1G,KAAK,CAAC,IAAI,CACX,CAAE,CAAA;AACJ,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;SACF;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AACpD,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACvD,4BAA4B,GAAG,KAAK,CAAC;AACvC,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAElF,OAAO;QACL,IAAI;KACL,CAAC;AACJ;;;;"}
|
package/example/src/App.tsx
CHANGED
|
@@ -16,6 +16,7 @@ const App = () => {
|
|
|
16
16
|
const { open } = useFinchConnect({
|
|
17
17
|
clientId: '<your-client-id>',
|
|
18
18
|
products: ['company', 'directory', 'individual', 'employment'],
|
|
19
|
+
// For 'sandbox`, omit or use 'false' if in production. Use "finch" or "provider" for sandbox testing, depending on test plan. See Finch's [documentation](https://developer.tryfinch.com/implementation-guide/Test/Testing-Plan) for an overview of Finch and Provider sandboxes.
|
|
19
20
|
// sandbox: false,
|
|
20
21
|
// payrollProvider: '<payroll-provider-id>',
|
|
21
22
|
onSuccess,
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -26,7 +26,10 @@ export type ConnectOptions = {
|
|
|
26
26
|
products: string[];
|
|
27
27
|
sandbox: Sandbox;
|
|
28
28
|
zIndex: number;
|
|
29
|
-
|
|
29
|
+
apiConfig?: {
|
|
30
|
+
connectUrl: string;
|
|
31
|
+
redirectUrl: string;
|
|
32
|
+
};
|
|
30
33
|
};
|
|
31
34
|
|
|
32
35
|
type OpenFn = (
|
|
@@ -58,9 +61,6 @@ interface FinchConnectPostMessage {
|
|
|
58
61
|
const BASE_FINCH_CONNECT_URI = 'https://connect.tryfinch.com';
|
|
59
62
|
const DEFAULT_FINCH_REDIRECT_URI = 'https://tryfinch.com';
|
|
60
63
|
|
|
61
|
-
const DEV_FINCH_CONNECT_URI = 'http://localhost:3000';
|
|
62
|
-
const DEV_DEFAULT_FINCH_REDIRECT_URI = 'http://localhost:4001';
|
|
63
|
-
|
|
64
64
|
const FINCH_CONNECT_IFRAME_ID = 'finch-connect-iframe';
|
|
65
65
|
const FINCH_AUTH_MESSAGE_NAME = 'finch-auth-message';
|
|
66
66
|
|
|
@@ -72,22 +72,18 @@ const constructAuthUrl = ({
|
|
|
72
72
|
manual,
|
|
73
73
|
sandbox,
|
|
74
74
|
state,
|
|
75
|
-
|
|
75
|
+
apiConfig,
|
|
76
76
|
}: Partial<ConnectOptions>) => {
|
|
77
|
-
const
|
|
77
|
+
const CONNECT_URL = apiConfig?.connectUrl || BASE_FINCH_CONNECT_URI;
|
|
78
|
+
const REDIRECT_URL = apiConfig?.redirectUrl || DEFAULT_FINCH_REDIRECT_URI;
|
|
78
79
|
|
|
79
|
-
const authUrl = new URL(
|
|
80
|
-
`${canUseFinchDevMode ? DEV_FINCH_CONNECT_URI : BASE_FINCH_CONNECT_URI}/authorize`
|
|
81
|
-
);
|
|
80
|
+
const authUrl = new URL(`${CONNECT_URL}/authorize`);
|
|
82
81
|
if (clientId) authUrl.searchParams.append('client_id', clientId);
|
|
83
82
|
if (payrollProvider) authUrl.searchParams.append('payroll_provider', payrollProvider);
|
|
84
83
|
if (category) authUrl.searchParams.append('category', category);
|
|
85
84
|
authUrl.searchParams.append('products', (products ?? []).join(' '));
|
|
86
85
|
authUrl.searchParams.append('app_type', 'spa');
|
|
87
|
-
authUrl.searchParams.append(
|
|
88
|
-
'redirect_uri',
|
|
89
|
-
canUseFinchDevMode ? DEV_DEFAULT_FINCH_REDIRECT_URI : DEFAULT_FINCH_REDIRECT_URI
|
|
90
|
-
);
|
|
86
|
+
authUrl.searchParams.append('redirect_uri', REDIRECT_URL);
|
|
91
87
|
/** The host URL of the SDK. This is used to store the referrer for postMessage purposes */
|
|
92
88
|
authUrl.searchParams.append('sdk_host_url', window.location.origin);
|
|
93
89
|
authUrl.searchParams.append('mode', 'employer');
|
|
@@ -115,7 +111,6 @@ const DEFAULT_OPTIONS: Omit<ConnectOptions, 'clientId'> = {
|
|
|
115
111
|
sandbox: false,
|
|
116
112
|
state: null,
|
|
117
113
|
zIndex: 999,
|
|
118
|
-
finchDevMode: false,
|
|
119
114
|
};
|
|
120
115
|
|
|
121
116
|
let isUseFinchConnectInitialized = false;
|
|
@@ -177,9 +172,11 @@ export const useFinchConnect = (options: Partial<ConnectOptions>): { open: OpenF
|
|
|
177
172
|
|
|
178
173
|
useEffect(() => {
|
|
179
174
|
function handleFinchAuth(event: FinchConnectPostMessage) {
|
|
175
|
+
const CONNECT_URL = combinedOptions.apiConfig?.connectUrl || BASE_FINCH_CONNECT_URI;
|
|
176
|
+
|
|
180
177
|
if (!event.data) return;
|
|
181
178
|
if (event.data.name !== FINCH_AUTH_MESSAGE_NAME) return;
|
|
182
|
-
if (!event.origin.startsWith(
|
|
179
|
+
if (!event.origin.startsWith(CONNECT_URL)) return;
|
|
183
180
|
|
|
184
181
|
close();
|
|
185
182
|
|