@bytexbyte/berifyme-react-sdk 1.0.17 → 1.0.19
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/BerifymeModal/index.js +4 -4
- package/dist/api/api.js +39 -4
- package/dist/components/AllSet/index.js +3 -3
- package/dist/components/OnBoarding/incode/SelectType.js +7 -3
- package/dist/components/OnBoarding/incode/index.js +13 -14
- package/dist/components/SendSns/index.js +18 -15
- package/dist/components/SnapMatch/ExceptionView.js +22 -0
- package/dist/components/SnapMatch/LangSelector.js +26 -0
- package/dist/components/SnapMatch/SnapMatchStep.js +122 -0
- package/dist/components/SnapMatch/SuccessView.js +22 -0
- package/dist/components/SnapMatch/TryAgainView.js +19 -0
- package/dist/components/SnapMatch/index.js +271 -0
- package/dist/components/SnapMatch/translations.js +32 -0
- package/dist/components/VerifyWithPhoneNumber/User/index.js +12 -9
- package/dist/index.js +6 -1
- package/dist/types/api/api.d.ts +7 -1
- package/dist/types/components/OnBoarding/incode/SelectType.d.ts +2 -1
- package/dist/types/components/OnBoarding/incode/index.d.ts +1 -0
- package/dist/types/components/SnapMatch/ExceptionView.d.ts +11 -0
- package/dist/types/components/SnapMatch/LangSelector.d.ts +11 -0
- package/dist/types/components/SnapMatch/SnapMatchStep.d.ts +23 -0
- package/dist/types/components/SnapMatch/SuccessView.d.ts +11 -0
- package/dist/types/components/SnapMatch/TryAgainView.d.ts +11 -0
- package/dist/types/components/SnapMatch/index.d.ts +17 -0
- package/dist/types/components/SnapMatch/translations.d.ts +54 -0
- package/dist/types/index.d.ts +6 -1
- package/dist/types/vender/incode/incode.d.ts +6 -2
- package/dist/types/vender/incode/translations/en.d.ts +2638 -0
- package/dist/types/vender/incode/translations/zh-TW.d.ts +2634 -0
- package/dist/vender/incode/incode.js +81 -5
- package/dist/vender/incode/translations/en.js +2638 -0
- package/dist/vender/incode/translations/zh-TW.js +2634 -0
- package/package.json +5 -2
- package/dist/components/Login/sumsub/index.js +0 -212
- package/dist/components/Login/veriff/Login.js +0 -168
- package/dist/components/Login/veriff/index.js +0 -14
- package/dist/components/Login/yoti/Login.js +0 -245
- package/dist/components/Login/yoti/index.js +0 -14
- package/dist/components/OnBoarding/sumsub/index.js +0 -183
- package/dist/components/OnBoarding/veriff/index.js +0 -152
- package/dist/components/OnBoarding/yoti/OnBoarding.js +0 -238
- package/dist/components/OnBoarding/yoti/index.js +0 -14
- package/dist/components/TryAgain.js +0 -16
- package/dist/components/TryAgainInModal.js +0 -15
- package/dist/event.js +0 -18
- package/dist/types/components/Login/sumsub/index.d.ts +0 -10
- package/dist/types/components/Login/veriff/Login.d.ts +0 -12
- package/dist/types/components/Login/veriff/index.d.ts +0 -11
- package/dist/types/components/Login/yoti/Login.d.ts +0 -11
- package/dist/types/components/Login/yoti/index.d.ts +0 -10
- package/dist/types/components/OnBoarding/sumsub/index.d.ts +0 -10
- package/dist/types/components/OnBoarding/veriff/index.d.ts +0 -11
- package/dist/types/components/OnBoarding/yoti/OnBoarding.d.ts +0 -12
- package/dist/types/components/OnBoarding/yoti/index.d.ts +0 -11
- package/dist/types/components/TryAgain.d.ts +0 -6
- package/dist/types/components/TryAgainInModal.d.ts +0 -6
- package/dist/types/event.d.ts +0 -9
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React, { useCallback, useState } from 'react';
|
|
2
|
-
import Login from './Login';
|
|
3
|
-
import SomethingWrong from '../../SomethingWrong';
|
|
4
|
-
var YotiLogin = function (_a) {
|
|
5
|
-
var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, token = _a.token;
|
|
6
|
-
var _b = useState(), error = _b[0], setError = _b[1];
|
|
7
|
-
var handleError = useCallback(function (error) {
|
|
8
|
-
setError(error);
|
|
9
|
-
}, []);
|
|
10
|
-
if (error || !token)
|
|
11
|
-
return (React.createElement(SomethingWrong, { message: error }));
|
|
12
|
-
return (React.createElement(Login, { user: user, setUser: setUser, onSuccess: onSuccess, onError: handleError, token: token }));
|
|
13
|
-
};
|
|
14
|
-
export default YotiLogin;
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import SumsubWebSdk from '@sumsub/websdk-react';
|
|
38
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
39
|
-
import berifymeApi from '../../../api/api';
|
|
40
|
-
import { delay } from '../../../common';
|
|
41
|
-
import { createDeveloperLog } from '../../createDeveloperLog';
|
|
42
|
-
import SomethingWrong from '../../SomethingWrong';
|
|
43
|
-
var RETRY_INTERVAL = 1000 * 5;
|
|
44
|
-
var SumsubOnBoarding = function (_a) {
|
|
45
|
-
var user = _a.user, setUser = _a.setUser, goToAllSet = _a.goToAllSet, token = _a.token;
|
|
46
|
-
var _b = useState(), accessToken = _b[0], setAccessToken = _b[1];
|
|
47
|
-
var _c = useState(), error = _c[0], setError = _c[1];
|
|
48
|
-
var getAccessToken = useCallback(function (phoneNumber) { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
-
var accessTokenResponse;
|
|
50
|
-
return __generator(this, function (_a) {
|
|
51
|
-
switch (_a.label) {
|
|
52
|
-
case 0: return [4 /*yield*/, berifymeApi.sumsub.createAccessToken({ phoneNumber: phoneNumber, levelName: 'basic-kyc-level' })];
|
|
53
|
-
case 1:
|
|
54
|
-
accessTokenResponse = _a.sent();
|
|
55
|
-
if ('error' in accessTokenResponse) {
|
|
56
|
-
console.log('error', accessTokenResponse.error);
|
|
57
|
-
createDeveloperLog({
|
|
58
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
59
|
-
userDataJson: user,
|
|
60
|
-
source: 'FRONTEND',
|
|
61
|
-
action: 'sumsub api',
|
|
62
|
-
sessionToken: token,
|
|
63
|
-
firstDetail: 'createAccessToken',
|
|
64
|
-
secondDetail: accessTokenResponse.error,
|
|
65
|
-
});
|
|
66
|
-
return [2 /*return*/, ''];
|
|
67
|
-
}
|
|
68
|
-
return [2 /*return*/, accessTokenResponse.token];
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}); }, [token, user]);
|
|
72
|
-
var initAccessToken = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
-
var accessToken;
|
|
74
|
-
return __generator(this, function (_a) {
|
|
75
|
-
switch (_a.label) {
|
|
76
|
-
case 0:
|
|
77
|
-
if (!user.phoneNumber)
|
|
78
|
-
return [2 /*return*/];
|
|
79
|
-
return [4 /*yield*/, getAccessToken(user.phoneNumber)];
|
|
80
|
-
case 1:
|
|
81
|
-
accessToken = _a.sent();
|
|
82
|
-
setAccessToken(accessToken);
|
|
83
|
-
return [2 /*return*/];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}); }, [getAccessToken, user.phoneNumber]);
|
|
87
|
-
var finishSumsubOnboarding = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
88
|
-
var approveResponse, userResponse;
|
|
89
|
-
return __generator(this, function (_a) {
|
|
90
|
-
switch (_a.label) {
|
|
91
|
-
case 0:
|
|
92
|
-
if (!user.phoneNumber)
|
|
93
|
-
return [2 /*return*/];
|
|
94
|
-
_a.label = 1;
|
|
95
|
-
case 1: return [4 /*yield*/, berifymeApi.sumsub.approveUserByPhoneNumber({ phoneNumber: user.phoneNumber })];
|
|
96
|
-
case 2:
|
|
97
|
-
approveResponse = _a.sent();
|
|
98
|
-
createDeveloperLog({
|
|
99
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
100
|
-
userDataJson: user,
|
|
101
|
-
source: 'FRONTEND',
|
|
102
|
-
action: 'sumsub api',
|
|
103
|
-
sessionToken: token,
|
|
104
|
-
firstDetail: 'approveUserByPhoneNumber',
|
|
105
|
-
secondDetail: JSON.stringify(approveResponse),
|
|
106
|
-
});
|
|
107
|
-
if (!('error' in approveResponse)) return [3 /*break*/, 5];
|
|
108
|
-
if (!(approveResponse.error === 'No identity step' || approveResponse.error === 'No selfie step')) return [3 /*break*/, 4];
|
|
109
|
-
return [4 /*yield*/, delay(RETRY_INTERVAL)];
|
|
110
|
-
case 3:
|
|
111
|
-
_a.sent();
|
|
112
|
-
return [3 /*break*/, 6];
|
|
113
|
-
case 4:
|
|
114
|
-
setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
115
|
-
return [2 /*return*/];
|
|
116
|
-
case 5:
|
|
117
|
-
if (approveResponse.sumsubId)
|
|
118
|
-
return [3 /*break*/, 7];
|
|
119
|
-
_a.label = 6;
|
|
120
|
-
case 6:
|
|
121
|
-
if (true) return [3 /*break*/, 1];
|
|
122
|
-
_a.label = 7;
|
|
123
|
-
case 7: return [4 /*yield*/, berifymeApi.user.getUserBySumsubId({ sumsubId: approveResponse.sumsubId })];
|
|
124
|
-
case 8:
|
|
125
|
-
userResponse = _a.sent();
|
|
126
|
-
createDeveloperLog({
|
|
127
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
128
|
-
userDataJson: user,
|
|
129
|
-
source: 'FRONTEND',
|
|
130
|
-
action: 'sumsub api',
|
|
131
|
-
sessionToken: token,
|
|
132
|
-
firstDetail: 'getUserBySumsubId',
|
|
133
|
-
secondDetail: JSON.stringify(userResponse),
|
|
134
|
-
});
|
|
135
|
-
if ('error' in userResponse) {
|
|
136
|
-
setError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
137
|
-
return [2 /*return*/];
|
|
138
|
-
}
|
|
139
|
-
setUser(userResponse.user);
|
|
140
|
-
goToAllSet();
|
|
141
|
-
return [2 /*return*/];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}); };
|
|
145
|
-
var accessTokenExpirationHandler = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
146
|
-
return __generator(this, function (_a) {
|
|
147
|
-
switch (_a.label) {
|
|
148
|
-
case 0:
|
|
149
|
-
console.log('accessTokenExpirationHandler');
|
|
150
|
-
if (!user.phoneNumber)
|
|
151
|
-
return [2 /*return*/, ''];
|
|
152
|
-
return [4 /*yield*/, getAccessToken(user.phoneNumber)];
|
|
153
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}); }, [getAccessToken, user.phoneNumber]);
|
|
157
|
-
var messageHandler = function (type, payload) {
|
|
158
|
-
console.log('onMessage', type, payload);
|
|
159
|
-
createDeveloperLog({
|
|
160
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
161
|
-
userDataJson: user,
|
|
162
|
-
source: 'FRONTEND',
|
|
163
|
-
action: 'sumsub step',
|
|
164
|
-
sessionToken: token,
|
|
165
|
-
firstDetail: type,
|
|
166
|
-
secondDetail: JSON.stringify(payload),
|
|
167
|
-
});
|
|
168
|
-
if (type === 'idCheck.onApplicantSubmitted') {
|
|
169
|
-
finishSumsubOnboarding();
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
var errorHandler = function (error) {
|
|
173
|
-
console.log('onError', error);
|
|
174
|
-
};
|
|
175
|
-
useEffect(function () {
|
|
176
|
-
initAccessToken();
|
|
177
|
-
}, [initAccessToken]);
|
|
178
|
-
if (error || !token)
|
|
179
|
-
return (React.createElement(SomethingWrong, { message: error }));
|
|
180
|
-
return (React.createElement(React.Fragment, null, accessToken &&
|
|
181
|
-
React.createElement(SumsubWebSdk, { accessToken: accessToken, expirationHandler: accessTokenExpirationHandler, options: { addViewportTag: false, adaptIframeHeight: true }, config: { theme: 'light' }, onMessage: messageHandler, onError: errorHandler })));
|
|
182
|
-
};
|
|
183
|
-
export default SumsubOnBoarding;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { Box, CircularProgress } from '@mui/material';
|
|
38
|
-
import { createVeriffFrame, MESSAGES } from '@veriff/incontext-sdk';
|
|
39
|
-
//@ts-expect-error - Veriff sample code
|
|
40
|
-
import { Veriff } from '@veriff/js-sdk';
|
|
41
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
42
|
-
import berifymeApi from '../../../api/api';
|
|
43
|
-
import { createDeveloperLog } from '../../createDeveloperLog';
|
|
44
|
-
var VeriffOnBoarding = function (_a) {
|
|
45
|
-
var user = _a.user, setUser = _a.setUser, goBack = _a.goBack, goToAllSet = _a.goToAllSet, token = _a.token;
|
|
46
|
-
var _b = useState(), step = _b[0], setStep = _b[1];
|
|
47
|
-
var _c = useState(), sessionId = _c[0], setSessionId = _c[1];
|
|
48
|
-
var _d = useState(false), initFinished = _d[0], setInitFinished = _d[1];
|
|
49
|
-
var onFinishedVeriff = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
-
var approveResponse, userResponse;
|
|
51
|
-
return __generator(this, function (_a) {
|
|
52
|
-
switch (_a.label) {
|
|
53
|
-
case 0:
|
|
54
|
-
if (!user.phoneNumber || !sessionId)
|
|
55
|
-
return [2 /*return*/];
|
|
56
|
-
return [4 /*yield*/, berifymeApi.veriff.approveVeriffUserByPhoneNumber({ phoneNumber: user.phoneNumber, sessionId: sessionId })];
|
|
57
|
-
case 1:
|
|
58
|
-
approveResponse = _a.sent();
|
|
59
|
-
if ('error' in approveResponse) {
|
|
60
|
-
console.error(approveResponse.error);
|
|
61
|
-
createDeveloperLog({
|
|
62
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
63
|
-
userDataJson: user,
|
|
64
|
-
source: 'FRONTEND',
|
|
65
|
-
action: 'veriff api',
|
|
66
|
-
sessionToken: token,
|
|
67
|
-
firstDetail: 'approveVeriffUserByPhoneNumber',
|
|
68
|
-
secondDetail: approveResponse.error,
|
|
69
|
-
});
|
|
70
|
-
return [2 /*return*/];
|
|
71
|
-
}
|
|
72
|
-
return [4 /*yield*/, berifymeApi.veriff.getUserByVeriffId({ veriffId: approveResponse.veriffId })];
|
|
73
|
-
case 2:
|
|
74
|
-
userResponse = _a.sent();
|
|
75
|
-
if ('error' in userResponse) {
|
|
76
|
-
console.log('error', userResponse.error);
|
|
77
|
-
createDeveloperLog({
|
|
78
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
79
|
-
userDataJson: user,
|
|
80
|
-
source: 'FRONTEND',
|
|
81
|
-
action: 'veriff api',
|
|
82
|
-
sessionToken: token,
|
|
83
|
-
firstDetail: 'getUserByVeriffId',
|
|
84
|
-
secondDetail: userResponse.error,
|
|
85
|
-
});
|
|
86
|
-
return [2 /*return*/];
|
|
87
|
-
}
|
|
88
|
-
setUser(userResponse.user);
|
|
89
|
-
goToAllSet();
|
|
90
|
-
return [2 /*return*/];
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}); }, [user, sessionId, token, setUser, goToAllSet]);
|
|
94
|
-
var onCancelVeriff = useCallback(function () {
|
|
95
|
-
goBack();
|
|
96
|
-
}, [goBack]);
|
|
97
|
-
useEffect(function () {
|
|
98
|
-
if (!user.phoneNumber)
|
|
99
|
-
return;
|
|
100
|
-
setInitFinished(false);
|
|
101
|
-
var veriff = Veriff({
|
|
102
|
-
host: 'https://api.veriff.me',
|
|
103
|
-
apiKey: '075ad225-b071-4d5c-9b79-096f1004d211',
|
|
104
|
-
parentId: 'veriff-root',
|
|
105
|
-
onSession: function (err, response) {
|
|
106
|
-
console.log(err);
|
|
107
|
-
setSessionId(response.verification.id);
|
|
108
|
-
createVeriffFrame({ url: response.verification.url, onEvent: function (msg) { setStep(msg); } });
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
veriff.setParams({
|
|
112
|
-
person: {
|
|
113
|
-
givenName: ' ',
|
|
114
|
-
lastName: ' '
|
|
115
|
-
},
|
|
116
|
-
vendorData: user.phoneNumber,
|
|
117
|
-
});
|
|
118
|
-
veriff.mount();
|
|
119
|
-
setInitFinished(true);
|
|
120
|
-
}, [user.phoneNumber]);
|
|
121
|
-
useEffect(function () {
|
|
122
|
-
switch (step) {
|
|
123
|
-
case MESSAGES.FINISHED:
|
|
124
|
-
onFinishedVeriff();
|
|
125
|
-
break;
|
|
126
|
-
case MESSAGES.CANCELED:
|
|
127
|
-
onCancelVeriff();
|
|
128
|
-
break;
|
|
129
|
-
default:
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
}, [onFinishedVeriff, onCancelVeriff, step]);
|
|
133
|
-
useEffect(function () {
|
|
134
|
-
var timeoutHandle = setTimeout(function () {
|
|
135
|
-
var _a;
|
|
136
|
-
if (!initFinished)
|
|
137
|
-
return;
|
|
138
|
-
(_a = document.getElementById('veriff-submit-btn')) === null || _a === void 0 ? void 0 : _a.click();
|
|
139
|
-
}, 100);
|
|
140
|
-
return function () { return clearTimeout(timeoutHandle); };
|
|
141
|
-
}, [initFinished]);
|
|
142
|
-
return (React.createElement(Box, { style: {
|
|
143
|
-
display: 'flex',
|
|
144
|
-
flexDirection: 'column',
|
|
145
|
-
alignItems: 'center',
|
|
146
|
-
justifyContent: 'center',
|
|
147
|
-
height: '100vh',
|
|
148
|
-
} },
|
|
149
|
-
React.createElement(CircularProgress, { color: "inherit" }),
|
|
150
|
-
React.createElement("div", { id: 'veriff-root', style: { height: 0, opacity: 0 } })));
|
|
151
|
-
};
|
|
152
|
-
export default VeriffOnBoarding;
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { CircularProgress, Stack, Typography } from '@mui/material';
|
|
38
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
39
|
-
import berifymeApi from '../../../api/api';
|
|
40
|
-
import { delay } from '../../../common';
|
|
41
|
-
import { createDeveloperLog } from '../../createDeveloperLog';
|
|
42
|
-
var RETRY_INTERVAL = 1000 * 2;
|
|
43
|
-
var OnBoarding = function (_a) {
|
|
44
|
-
var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onError = _a.onError, onGoBack = _a.onGoBack, token = _a.token;
|
|
45
|
-
var _b = useState(), session = _b[0], setSession = _b[1];
|
|
46
|
-
var _c = useState(), loading = _c[0], setLoading = _c[1];
|
|
47
|
-
var sessionRef = useRef();
|
|
48
|
-
var handleSuccess = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
-
var approveResponse, userResponse, error_1;
|
|
50
|
-
return __generator(this, function (_a) {
|
|
51
|
-
switch (_a.label) {
|
|
52
|
-
case 0:
|
|
53
|
-
createDeveloperLog({
|
|
54
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
55
|
-
userDataJson: user,
|
|
56
|
-
source: 'FRONTEND',
|
|
57
|
-
action: 'yoti step',
|
|
58
|
-
sessionToken: token,
|
|
59
|
-
firstDetail: 'handleSuccess',
|
|
60
|
-
secondDetail: JSON.stringify(sessionRef.current),
|
|
61
|
-
});
|
|
62
|
-
if (!sessionRef.current)
|
|
63
|
-
return [2 /*return*/];
|
|
64
|
-
_a.label = 1;
|
|
65
|
-
case 1:
|
|
66
|
-
_a.trys.push([1, 10, 11, 12]);
|
|
67
|
-
setLoading('We are processing your data');
|
|
68
|
-
approveResponse = void 0;
|
|
69
|
-
_a.label = 2;
|
|
70
|
-
case 2: return [4 /*yield*/, berifymeApi.yoti.approveYotiUser({ sessionId: sessionRef.current.sessionId })];
|
|
71
|
-
case 3:
|
|
72
|
-
approveResponse = _a.sent();
|
|
73
|
-
createDeveloperLog({
|
|
74
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
75
|
-
userDataJson: user,
|
|
76
|
-
source: 'FRONTEND',
|
|
77
|
-
action: 'yoti api',
|
|
78
|
-
sessionToken: token,
|
|
79
|
-
firstDetail: 'approveYotiUser',
|
|
80
|
-
secondDetail: JSON.stringify(approveResponse),
|
|
81
|
-
});
|
|
82
|
-
if (!('error' in approveResponse)) return [3 /*break*/, 6];
|
|
83
|
-
if (!(approveResponse.error === 'Session ongoing')) return [3 /*break*/, 5];
|
|
84
|
-
return [4 /*yield*/, delay(RETRY_INTERVAL)];
|
|
85
|
-
case 4:
|
|
86
|
-
_a.sent();
|
|
87
|
-
return [3 /*break*/, 7];
|
|
88
|
-
case 5:
|
|
89
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
90
|
-
return [2 /*return*/];
|
|
91
|
-
case 6:
|
|
92
|
-
if (approveResponse.yotiId)
|
|
93
|
-
return [3 /*break*/, 8];
|
|
94
|
-
_a.label = 7;
|
|
95
|
-
case 7:
|
|
96
|
-
if (true) return [3 /*break*/, 2];
|
|
97
|
-
_a.label = 8;
|
|
98
|
-
case 8: return [4 /*yield*/, berifymeApi.user.getUserByYotiId({ yotiId: approveResponse.yotiId })];
|
|
99
|
-
case 9:
|
|
100
|
-
userResponse = _a.sent();
|
|
101
|
-
if ('error' in userResponse) {
|
|
102
|
-
createDeveloperLog({
|
|
103
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
104
|
-
userDataJson: user,
|
|
105
|
-
source: 'FRONTEND',
|
|
106
|
-
action: 'yoti api',
|
|
107
|
-
sessionToken: token,
|
|
108
|
-
firstDetail: 'getUserByYotiId',
|
|
109
|
-
secondDetail: JSON.stringify(userResponse),
|
|
110
|
-
});
|
|
111
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
112
|
-
return [2 /*return*/];
|
|
113
|
-
}
|
|
114
|
-
// cuz secondDetail is too long
|
|
115
|
-
createDeveloperLog({
|
|
116
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
117
|
-
userDataJson: user,
|
|
118
|
-
source: 'FRONTEND',
|
|
119
|
-
action: 'yoti api',
|
|
120
|
-
sessionToken: token,
|
|
121
|
-
firstDetail: 'getUserByYotiId',
|
|
122
|
-
secondDetail: JSON.stringify({ yotiId: userResponse.user.yotiId, fullName: userResponse.user.fullName, age: userResponse.user.age, birthDate: userResponse.user.birthDate }),
|
|
123
|
-
});
|
|
124
|
-
setUser(userResponse.user);
|
|
125
|
-
onSuccess();
|
|
126
|
-
return [3 /*break*/, 12];
|
|
127
|
-
case 10:
|
|
128
|
-
error_1 = _a.sent();
|
|
129
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
130
|
-
return [3 /*break*/, 12];
|
|
131
|
-
case 11:
|
|
132
|
-
setLoading(undefined);
|
|
133
|
-
return [7 /*endfinally*/];
|
|
134
|
-
case 12: return [2 /*return*/];
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
}); }, [onError, onSuccess, setUser, token, user]);
|
|
138
|
-
var handleError = useCallback(function (eventCode) {
|
|
139
|
-
createDeveloperLog({
|
|
140
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
141
|
-
userDataJson: user,
|
|
142
|
-
source: 'FRONTEND',
|
|
143
|
-
action: 'yoti step',
|
|
144
|
-
sessionToken: token,
|
|
145
|
-
firstDetail: 'handleError',
|
|
146
|
-
secondDetail: JSON.stringify(sessionRef.current),
|
|
147
|
-
});
|
|
148
|
-
switch (eventCode) {
|
|
149
|
-
case 7000:
|
|
150
|
-
onGoBack();
|
|
151
|
-
break;
|
|
152
|
-
default:
|
|
153
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
}, [onError, onGoBack, token, user]);
|
|
157
|
-
var initYoti = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
158
|
-
var response, error_2;
|
|
159
|
-
return __generator(this, function (_a) {
|
|
160
|
-
switch (_a.label) {
|
|
161
|
-
case 0:
|
|
162
|
-
if (!(user === null || user === void 0 ? void 0 : user.phoneNumber) || !token)
|
|
163
|
-
return [2 /*return*/];
|
|
164
|
-
_a.label = 1;
|
|
165
|
-
case 1:
|
|
166
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
167
|
-
setLoading('Loading...');
|
|
168
|
-
return [4 /*yield*/, berifymeApi.yoti.createYotiIDVSession({ phoneNumber: user.phoneNumber })];
|
|
169
|
-
case 2:
|
|
170
|
-
response = _a.sent();
|
|
171
|
-
createDeveloperLog({
|
|
172
|
-
userId: user.id,
|
|
173
|
-
userDataJson: user,
|
|
174
|
-
source: 'FRONTEND',
|
|
175
|
-
action: 'yoti api',
|
|
176
|
-
sessionToken: token,
|
|
177
|
-
firstDetail: 'createYotiSession',
|
|
178
|
-
secondDetail: JSON.stringify(response),
|
|
179
|
-
});
|
|
180
|
-
if ('error' in response) {
|
|
181
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
182
|
-
return [2 /*return*/];
|
|
183
|
-
}
|
|
184
|
-
setSession(response);
|
|
185
|
-
return [3 /*break*/, 5];
|
|
186
|
-
case 3:
|
|
187
|
-
error_2 = _a.sent();
|
|
188
|
-
onError('Something went wrong, but we’re working on it. Please try again later or contact support for assistance.');
|
|
189
|
-
return [3 /*break*/, 5];
|
|
190
|
-
case 4:
|
|
191
|
-
setLoading(undefined);
|
|
192
|
-
return [7 /*endfinally*/];
|
|
193
|
-
case 5: return [2 /*return*/];
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}); }, [onError, token, user]);
|
|
197
|
-
var initListener = useCallback(function () {
|
|
198
|
-
window.addEventListener('message', function (event) {
|
|
199
|
-
createDeveloperLog({
|
|
200
|
-
userId: user === null || user === void 0 ? void 0 : user.id,
|
|
201
|
-
userDataJson: user,
|
|
202
|
-
source: 'FRONTEND',
|
|
203
|
-
action: 'yoti event',
|
|
204
|
-
sessionToken: token,
|
|
205
|
-
firstDetail: 'event.data.eventType',
|
|
206
|
-
secondDetail: JSON.stringify(event.data),
|
|
207
|
-
});
|
|
208
|
-
switch (event.data.eventType) {
|
|
209
|
-
case 'SUCCESS':
|
|
210
|
-
handleSuccess();
|
|
211
|
-
break;
|
|
212
|
-
case 'ERROR':
|
|
213
|
-
handleError(event.data.eventCode);
|
|
214
|
-
break;
|
|
215
|
-
default:
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
return function () {
|
|
220
|
-
window.removeEventListener('message', function () { });
|
|
221
|
-
};
|
|
222
|
-
}, [user, token, handleSuccess, handleError]);
|
|
223
|
-
useEffect(function () {
|
|
224
|
-
initYoti();
|
|
225
|
-
}, [initYoti]);
|
|
226
|
-
useEffect(function () {
|
|
227
|
-
initListener();
|
|
228
|
-
}, [initListener]);
|
|
229
|
-
useEffect(function () {
|
|
230
|
-
sessionRef.current = session;
|
|
231
|
-
}, [session]);
|
|
232
|
-
if (loading)
|
|
233
|
-
return (React.createElement(Stack, { justifyContent: 'center', alignItems: 'center', height: '100%', spacing: 2 },
|
|
234
|
-
React.createElement(CircularProgress, { color: "inherit" }),
|
|
235
|
-
React.createElement(Typography, { color: '#585858' }, loading)));
|
|
236
|
-
return (React.createElement(React.Fragment, null, session && (React.createElement("iframe", { src: "https://api.yoti.com/idverify/v1/web/index.html?sessionID=".concat(session.sessionId, "&sessionToken=").concat(session.clientSessionToken), allow: "camera", width: "100%", height: "100%", id: "yoti", frameBorder: "0" }))));
|
|
237
|
-
};
|
|
238
|
-
export default OnBoarding;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React, { useCallback, useState } from 'react';
|
|
2
|
-
import OnBoarding from './OnBoarding';
|
|
3
|
-
import SomethingWrong from '../../SomethingWrong';
|
|
4
|
-
var YotiOnBoarding = function (_a) {
|
|
5
|
-
var user = _a.user, setUser = _a.setUser, onSuccess = _a.onSuccess, onGoBack = _a.onGoBack, token = _a.token;
|
|
6
|
-
var _b = useState(), error = _b[0], setError = _b[1];
|
|
7
|
-
var handleError = useCallback(function (error) {
|
|
8
|
-
setError(error);
|
|
9
|
-
}, []);
|
|
10
|
-
if (error || !token)
|
|
11
|
-
return (React.createElement(SomethingWrong, { message: error }));
|
|
12
|
-
return (React.createElement(OnBoarding, { user: user, setUser: setUser, onSuccess: onSuccess, onError: handleError, onGoBack: onGoBack, token: token }));
|
|
13
|
-
};
|
|
14
|
-
export default YotiOnBoarding;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Button, Container, Stack, Typography } from '@mui/material';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
var TryAgain = function (_a) {
|
|
4
|
-
var message = _a.message, pressButton = _a.pressButton;
|
|
5
|
-
var handleContinue = function () {
|
|
6
|
-
if (pressButton)
|
|
7
|
-
pressButton();
|
|
8
|
-
else
|
|
9
|
-
window.location.reload();
|
|
10
|
-
};
|
|
11
|
-
return (React.createElement(Container, { maxWidth: 'sm', sx: { px: 3 } },
|
|
12
|
-
React.createElement(Stack, { height: '100vh', width: 1, maxHeight: 900, justifyContent: 'center', alignItems: 'center', spacing: 4 },
|
|
13
|
-
React.createElement(Typography, { variant: "h3", fontWeight: 700, textAlign: "center" }, message ? message : 'Authentication Failed, Please Try Again.'),
|
|
14
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: handleContinue }, "Continue"))));
|
|
15
|
-
};
|
|
16
|
-
export default TryAgain;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Button, Stack, Typography } from '@mui/material';
|
|
3
|
-
var TryAgainInModal = function (_a) {
|
|
4
|
-
var message = _a.message, pressButton = _a.pressButton;
|
|
5
|
-
var handleContinue = function () {
|
|
6
|
-
if (pressButton)
|
|
7
|
-
pressButton();
|
|
8
|
-
else
|
|
9
|
-
window.location.reload();
|
|
10
|
-
};
|
|
11
|
-
return (React.createElement(Stack, { height: 1, width: 1, justifyContent: 'center', alignItems: 'center', spacing: 4 },
|
|
12
|
-
React.createElement(Typography, { variant: "h3", fontWeight: 700, textAlign: "center" }, message ? message : 'Authentication Failed, Please Try Again.'),
|
|
13
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: handleContinue }, "Continue")));
|
|
14
|
-
};
|
|
15
|
-
export default TryAgainInModal;
|
package/dist/event.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// event.ts
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
// 定義事件名稱
|
|
4
|
-
export var BERIFYME_PAGE_EVENT = 'berifyme:page';
|
|
5
|
-
// 創建事件管理器
|
|
6
|
-
var eventEmitter = new EventEmitter();
|
|
7
|
-
// 將事件管理器導出
|
|
8
|
-
export var berifymeEventEmitter = {
|
|
9
|
-
emit: function (eventType, detail) {
|
|
10
|
-
eventEmitter.emit(eventType, detail);
|
|
11
|
-
},
|
|
12
|
-
addListener: function (eventType, callback) {
|
|
13
|
-
eventEmitter.addListener(eventType, callback);
|
|
14
|
-
},
|
|
15
|
-
removeListener: function (eventType, callback) {
|
|
16
|
-
eventEmitter.removeListener(eventType, callback);
|
|
17
|
-
},
|
|
18
|
-
};
|