@corbado/observe 1.10.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/client.mjs +37 -1595
- package/dist/analysis/default-tracker.mjs +16 -0
- package/dist/analysis/index.mjs +29 -41
- package/dist/analysis/plugins/cookie-storage.mjs +11 -0
- package/dist/analysis/plugins/cross-origin-session.mjs +171 -0
- package/dist/analysis/plugins/probes.mjs +69 -0
- package/dist/analysis/plugins/raw-errors.mjs +8 -0
- package/dist/analysis/probe-lane.mjs +175 -0
- package/dist/analysis/queue.mjs +18 -141
- package/dist/analysis/session-keys.mjs +11 -0
- package/dist/analysis/tracker-core.mjs +1352 -0
- package/dist/analysis/tracker-features.mjs +80 -0
- package/dist/analysis/tracker-functions.mjs +103 -0
- package/dist/analysis/utils/appconfirmation-operation-full.mjs +5 -1
- package/dist/analysis/utils/captcha-operation-full.mjs +5 -1
- package/dist/analysis/utils/email-link-operation-full.mjs +9 -1
- package/dist/analysis/utils/email-otp-operation-full.mjs +5 -1
- package/dist/analysis/utils/form-operation-full.mjs +5 -1
- package/dist/analysis/utils/key-operation-full.mjs +9 -1
- package/dist/analysis/utils/operation-full-provide-identifier-with-cui.mjs +8 -1
- package/dist/analysis/utils/operation-full.mjs +4 -2
- package/dist/analysis/utils/passkey-deletion-operation-full.mjs +5 -1
- package/dist/analysis/utils/passkey-enrollment-operation-full.mjs +5 -1
- package/dist/analysis/utils/passkey-login-operation-full.mjs +5 -1
- package/dist/analysis/utils/password-enrollment-operation-full.mjs +5 -1
- package/dist/analysis/utils/password-login-operation-full.mjs +5 -1
- package/dist/analysis/utils/provide-data-operation-full.mjs +5 -1
- package/dist/analysis/utils/sms-otp-operation-full.mjs +5 -1
- package/dist/analysis/utils/social-operation-login.mjs +5 -1
- package/dist/analysis/utils/sso-operation-login.mjs +5 -1
- package/dist/analysis/utils/totp-operation-full.mjs +5 -1
- package/dist/analysis/utils/trusted-device-operation-full.mjs +9 -1
- package/dist/analysis/version.mjs +1 -1
- package/dist/cdn/script.global.js +4 -4
- package/dist/index.d.mts +1366 -883
- package/dist/index.d.ts +1366 -883
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// src/tracker-features.ts
|
|
2
|
+
import { v7 as uuidv7 } from "uuid";
|
|
3
|
+
import { AuthEventName } from "./types.mjs";
|
|
4
|
+
import { SEQ_STORAGE_KEY } from "./session-keys.mjs";
|
|
5
|
+
function resetSessionOn(tracker) {
|
|
6
|
+
const newSessionId = uuidv7();
|
|
7
|
+
if (tracker["config"].sessionContinuity) {
|
|
8
|
+
tracker["persistContinuitySession"](newSessionId, Date.now());
|
|
9
|
+
tracker["persistentStorage"].setItem(SEQ_STORAGE_KEY, 0);
|
|
10
|
+
} else {
|
|
11
|
+
tracker["persistPerTabSession"](newSessionId, Date.now());
|
|
12
|
+
}
|
|
13
|
+
tracker["sessionId"] = newSessionId;
|
|
14
|
+
tracker["seq"] = 0;
|
|
15
|
+
tracker["queue"].setSessionId(newSessionId);
|
|
16
|
+
tracker["bridge"]?.reset(newSessionId);
|
|
17
|
+
tracker.getLogger().debug(`Session reset: ${newSessionId}`);
|
|
18
|
+
return newSessionId;
|
|
19
|
+
}
|
|
20
|
+
function setUserOn(tracker, user) {
|
|
21
|
+
void tracker.track(AuthEventName.FlowEnriched, { match: { flowType: "*", at: "during" }, expFol: true }, { ...user });
|
|
22
|
+
}
|
|
23
|
+
function setFlowTagsOn(tracker, tags, options) {
|
|
24
|
+
const logger = tracker.getLogger();
|
|
25
|
+
try {
|
|
26
|
+
if (!tags || typeof tags !== "object") {
|
|
27
|
+
logger.warn("setFlowTags: ignoring non-object tags");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const valid = {};
|
|
31
|
+
for (const [key, value] of Object.entries(tags)) {
|
|
32
|
+
if (key === "" || typeof value !== "string") {
|
|
33
|
+
logger.warn(`setFlowTags: ignoring invalid tag "${key}"`);
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
valid[key] = value;
|
|
37
|
+
}
|
|
38
|
+
if (Object.keys(valid).length === 0) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const data = { match: { flowType: options?.flowType ?? "*", at: "during" } };
|
|
42
|
+
if (options?.expandToChildren !== void 0) {
|
|
43
|
+
data.expCh = options.expandToChildren;
|
|
44
|
+
}
|
|
45
|
+
if (options?.expandToFollowing !== void 0) {
|
|
46
|
+
data.expFol = options.expandToFollowing;
|
|
47
|
+
}
|
|
48
|
+
void tracker.track(AuthEventName.FlowEnriched, data, void 0, valid);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
logger.warn("Failed to set flow tags", error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function clearExperimentOn(tracker, key) {
|
|
54
|
+
try {
|
|
55
|
+
if (Object.prototype.hasOwnProperty.call(tracker["experiments"], key)) {
|
|
56
|
+
delete tracker["experiments"][key];
|
|
57
|
+
tracker["persistExperiments"]();
|
|
58
|
+
}
|
|
59
|
+
} catch (error) {
|
|
60
|
+
tracker.getLogger().error("Failed to clear experiment", error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function clearExperimentsOn(tracker) {
|
|
64
|
+
try {
|
|
65
|
+
if (Object.keys(tracker["experiments"]).length === 0) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
tracker["experiments"] = {};
|
|
69
|
+
tracker["persistExperiments"]();
|
|
70
|
+
} catch (error) {
|
|
71
|
+
tracker.getLogger().error("Failed to clear experiments", error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export {
|
|
75
|
+
clearExperimentOn,
|
|
76
|
+
clearExperimentsOn,
|
|
77
|
+
resetSessionOn,
|
|
78
|
+
setFlowTagsOn,
|
|
79
|
+
setUserOn
|
|
80
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// src/tracker-functions.ts
|
|
2
|
+
import { getDefaultTracker, isTracker } from "./default-tracker.mjs";
|
|
3
|
+
import {
|
|
4
|
+
AuthEventName
|
|
5
|
+
} from "./types.mjs";
|
|
6
|
+
import { clearExperimentOn, clearExperimentsOn, resetSessionOn, setFlowTagsOn, setUserOn } from "./tracker-features.mjs";
|
|
7
|
+
function resetSession(tracker) {
|
|
8
|
+
const target = isTracker(tracker) ? tracker : getDefaultTracker();
|
|
9
|
+
return target ? resetSessionOn(target) : void 0;
|
|
10
|
+
}
|
|
11
|
+
function setUser(first, second) {
|
|
12
|
+
const [tracker, user] = isTracker(first) ? [first, second] : [getDefaultTracker(), first];
|
|
13
|
+
if (tracker) setUserOn(tracker, user);
|
|
14
|
+
}
|
|
15
|
+
function setFlowTags(first, second, third) {
|
|
16
|
+
const explicit = isTracker(first);
|
|
17
|
+
const tracker = explicit ? first : getDefaultTracker();
|
|
18
|
+
if (!tracker) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
setFlowTagsOn(
|
|
22
|
+
tracker,
|
|
23
|
+
explicit ? second : first,
|
|
24
|
+
explicit ? third : second
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function setExperiment(first, second, third) {
|
|
28
|
+
if (isTracker(first)) {
|
|
29
|
+
first.setExperiments({ [second]: third });
|
|
30
|
+
} else {
|
|
31
|
+
getDefaultTracker()?.setExperiments({ [first]: second });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function clearExperiment(first, second) {
|
|
35
|
+
const [tracker, key] = isTracker(first) ? [first, second] : [getDefaultTracker(), first];
|
|
36
|
+
if (tracker) clearExperimentOn(tracker, key);
|
|
37
|
+
}
|
|
38
|
+
function clearExperiments(tracker) {
|
|
39
|
+
const target = isTracker(tracker) ? tracker : getDefaultTracker();
|
|
40
|
+
if (target) clearExperimentsOn(target);
|
|
41
|
+
}
|
|
42
|
+
function logInfo(first, second) {
|
|
43
|
+
if (isTracker(first)) first.telemetry("info", second);
|
|
44
|
+
else getDefaultTracker()?.telemetry("info", first);
|
|
45
|
+
}
|
|
46
|
+
function logError(first, second) {
|
|
47
|
+
if (isTracker(first)) first.telemetry("error", second);
|
|
48
|
+
else getDefaultTracker()?.telemetry("error", first);
|
|
49
|
+
}
|
|
50
|
+
function conversion(tracker, data, tags, experiments) {
|
|
51
|
+
const { userId, identifier, crossEnvironmentTransactionID, ...dataOut } = data;
|
|
52
|
+
const userReference = { userId, identifier, crossEnvironmentTransactionID };
|
|
53
|
+
const effectiveTags = { ...tracker["options"].defaultTags, ...tracker["applicationTag"](), ...tags };
|
|
54
|
+
void tracker.track(
|
|
55
|
+
AuthEventName.Conversion,
|
|
56
|
+
dataOut,
|
|
57
|
+
userReference,
|
|
58
|
+
effectiveTags,
|
|
59
|
+
void 0,
|
|
60
|
+
void 0,
|
|
61
|
+
experiments
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
function authDecisionStarted(tracker, data, tags, experiments) {
|
|
65
|
+
void tracker.track(AuthEventName.AuthDecisionStarted, data, void 0, tags, void 0, void 0, experiments);
|
|
66
|
+
}
|
|
67
|
+
function authDecisionFinished(tracker, data, tags, experiments) {
|
|
68
|
+
void tracker.track(AuthEventName.AuthDecisionFinished, data, void 0, tags, void 0, void 0, experiments);
|
|
69
|
+
}
|
|
70
|
+
function trackSubflowError(tracker, subflowType, data, options) {
|
|
71
|
+
const wrappedData = {
|
|
72
|
+
subflowType,
|
|
73
|
+
stepData: data
|
|
74
|
+
};
|
|
75
|
+
void tracker.track(
|
|
76
|
+
AuthEventName.SubflowError,
|
|
77
|
+
wrappedData,
|
|
78
|
+
options?.userReference,
|
|
79
|
+
void 0,
|
|
80
|
+
void 0,
|
|
81
|
+
options?.explicitTimestamp,
|
|
82
|
+
options?.experiments,
|
|
83
|
+
{
|
|
84
|
+
subflowStartEventId: options?.subflowStartEventId,
|
|
85
|
+
sessionId: options?.captureSessionId,
|
|
86
|
+
initiator: options?.initiator
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
authDecisionFinished,
|
|
92
|
+
authDecisionStarted,
|
|
93
|
+
clearExperiment,
|
|
94
|
+
clearExperiments,
|
|
95
|
+
conversion,
|
|
96
|
+
logError,
|
|
97
|
+
logInfo,
|
|
98
|
+
resetSession,
|
|
99
|
+
setExperiment,
|
|
100
|
+
setFlowTags,
|
|
101
|
+
setUser,
|
|
102
|
+
trackSubflowError
|
|
103
|
+
};
|
|
@@ -14,6 +14,10 @@ var AppConfirmationOperationFull = class extends OperationFull {
|
|
|
14
14
|
void this.subflowStart({ explicitSpecType: config.explicitSpecType });
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
+
function appConfirmationOperationFull(tracker, config) {
|
|
18
|
+
return new AppConfirmationOperationFull(tracker, config);
|
|
19
|
+
}
|
|
17
20
|
export {
|
|
18
|
-
AppConfirmationOperationFull
|
|
21
|
+
AppConfirmationOperationFull,
|
|
22
|
+
appConfirmationOperationFull
|
|
19
23
|
};
|
|
@@ -12,6 +12,10 @@ var CaptchaOperationFull = class extends OperationFull {
|
|
|
12
12
|
void this.subflowStart({ explicitSpecType: config.explicitSpecType });
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
+
function captchaOperationFull(tracker, config) {
|
|
16
|
+
return new CaptchaOperationFull(tracker, config);
|
|
17
|
+
}
|
|
15
18
|
export {
|
|
16
|
-
CaptchaOperationFull
|
|
19
|
+
CaptchaOperationFull,
|
|
20
|
+
captchaOperationFull
|
|
17
21
|
};
|
|
@@ -156,7 +156,15 @@ var EmailLinkContinuationOperation = class extends OperationFull {
|
|
|
156
156
|
};
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
|
+
function emailLinkOperationFull(tracker, config) {
|
|
160
|
+
return new EmailLinkOperationFull(tracker, config);
|
|
161
|
+
}
|
|
162
|
+
function continueEmailLinkOperation(tracker, config) {
|
|
163
|
+
return new EmailLinkContinuationOperation(tracker, config);
|
|
164
|
+
}
|
|
159
165
|
export {
|
|
160
166
|
EmailLinkContinuationOperation,
|
|
161
|
-
EmailLinkOperationFull
|
|
167
|
+
EmailLinkOperationFull,
|
|
168
|
+
continueEmailLinkOperation,
|
|
169
|
+
emailLinkOperationFull
|
|
162
170
|
};
|
|
@@ -33,6 +33,10 @@ var EmailOtpOperationFull = class extends OperationFull {
|
|
|
33
33
|
this.lowEventTracker?.destroy();
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
+
function emailOtpOperationFull(tracker, config) {
|
|
37
|
+
return new EmailOtpOperationFull(tracker, config);
|
|
38
|
+
}
|
|
36
39
|
export {
|
|
37
|
-
EmailOtpOperationFull
|
|
40
|
+
EmailOtpOperationFull,
|
|
41
|
+
emailOtpOperationFull
|
|
38
42
|
};
|
|
@@ -32,7 +32,15 @@ var KeyRegistrationOperationFull = class extends OperationFull {
|
|
|
32
32
|
void this.subflowStart({ actor: "system", explicitSpecType: specType(tracker, config) });
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
+
function keySigningOperationFull(tracker, config) {
|
|
36
|
+
return new KeySigningOperationFull(tracker, config);
|
|
37
|
+
}
|
|
38
|
+
function keyRegistrationOperationFull(tracker, config) {
|
|
39
|
+
return new KeyRegistrationOperationFull(tracker, config);
|
|
40
|
+
}
|
|
35
41
|
export {
|
|
36
42
|
KeyRegistrationOperationFull,
|
|
37
|
-
KeySigningOperationFull
|
|
43
|
+
KeySigningOperationFull,
|
|
44
|
+
keyRegistrationOperationFull,
|
|
45
|
+
keySigningOperationFull
|
|
38
46
|
};
|
|
@@ -41,6 +41,13 @@ var OperationFullProvideIdentifierWithCUI = class extends OperationFull {
|
|
|
41
41
|
this.lowEventTracker?.destroy();
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
function provideIdentifierOperationFull(tracker, config) {
|
|
45
|
+
return new OperationFullProvideIdentifierWithCUI(
|
|
46
|
+
tracker,
|
|
47
|
+
config
|
|
48
|
+
);
|
|
49
|
+
}
|
|
44
50
|
export {
|
|
45
|
-
OperationFullProvideIdentifierWithCUI
|
|
51
|
+
OperationFullProvideIdentifierWithCUI,
|
|
52
|
+
provideIdentifierOperationFull
|
|
46
53
|
};
|
|
@@ -3,7 +3,6 @@ import { reserveCaptureSeq } from "../low-events/capture-sequence.mjs";
|
|
|
3
3
|
import { inferCeremonyInitiator } from "../low-events/ceremony-initiator.mjs";
|
|
4
4
|
import { v7 as uuidv7 } from "uuid";
|
|
5
5
|
import { normalizeError } from "./normalize-error.mjs";
|
|
6
|
-
import { serializeRawError } from "./serialize-raw-error.mjs";
|
|
7
6
|
var CEREMONY_LOW_EVENT_TAIL_MS = 1500;
|
|
8
7
|
var OperationFull = class {
|
|
9
8
|
constructor(tracker, operationName) {
|
|
@@ -162,7 +161,10 @@ var OperationFull = class {
|
|
|
162
161
|
let payload = data;
|
|
163
162
|
try {
|
|
164
163
|
const rawError = this.tracker.getSdkConfig().rawErrors ? options?.rawError : void 0;
|
|
165
|
-
if (rawError !== void 0)
|
|
164
|
+
if (rawError !== void 0) {
|
|
165
|
+
const serialize = this.tracker["rawErrors"];
|
|
166
|
+
if (serialize) payload = { ...data, rawError: serialize(rawError, options?.rawErrorLimits) };
|
|
167
|
+
}
|
|
166
168
|
} catch {
|
|
167
169
|
}
|
|
168
170
|
void this.tracker.trackSubflowStepError(this.operationName, stepName, payload, this.captureOptions(options));
|
|
@@ -12,6 +12,10 @@ var PasskeyDeletionOperationFull = class extends OperationFull {
|
|
|
12
12
|
void this.subflowStart({});
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
+
function passkeyDeletionOperationFull(tracker, config) {
|
|
16
|
+
return new PasskeyDeletionOperationFull(tracker, config);
|
|
17
|
+
}
|
|
15
18
|
export {
|
|
16
|
-
PasskeyDeletionOperationFull
|
|
19
|
+
PasskeyDeletionOperationFull,
|
|
20
|
+
passkeyDeletionOperationFull
|
|
17
21
|
};
|
|
@@ -30,6 +30,10 @@ var PasskeyEnrollmentOperationFull = class extends OperationFull {
|
|
|
30
30
|
this.lowEventTracker.destroy();
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
+
function passkeyEnrollmentFullOperation(tracker, config) {
|
|
34
|
+
return new PasskeyEnrollmentOperationFull(tracker, config);
|
|
35
|
+
}
|
|
33
36
|
export {
|
|
34
|
-
PasskeyEnrollmentOperationFull
|
|
37
|
+
PasskeyEnrollmentOperationFull,
|
|
38
|
+
passkeyEnrollmentFullOperation
|
|
35
39
|
};
|
|
@@ -34,6 +34,10 @@ var PasskeyLoginOperationFull = class extends OperationFull {
|
|
|
34
34
|
this.lowEventTracker.destroy();
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
function passkeyLoginFullOperation(tracker, config) {
|
|
38
|
+
return new PasskeyLoginOperationFull(tracker, config);
|
|
39
|
+
}
|
|
37
40
|
export {
|
|
38
|
-
PasskeyLoginOperationFull
|
|
41
|
+
PasskeyLoginOperationFull,
|
|
42
|
+
passkeyLoginFullOperation
|
|
39
43
|
};
|
|
@@ -22,6 +22,10 @@ var PasswordEnrollmentOperationFull = class extends OperationFull {
|
|
|
22
22
|
this.lowEventTracker?.destroy();
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
+
function passwordEnrollmentFullOperation(tracker, config) {
|
|
26
|
+
return new PasswordEnrollmentOperationFull(tracker, config);
|
|
27
|
+
}
|
|
25
28
|
export {
|
|
26
|
-
PasswordEnrollmentOperationFull
|
|
29
|
+
PasswordEnrollmentOperationFull,
|
|
30
|
+
passwordEnrollmentFullOperation
|
|
27
31
|
};
|
|
@@ -60,6 +60,10 @@ var PasswordLoginOperationFull = class extends OperationFull {
|
|
|
60
60
|
this.identifierLowEventTracker?.destroy();
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
|
+
function passwordLoginFullOperation(tracker, config) {
|
|
64
|
+
return new PasswordLoginOperationFull(tracker, config);
|
|
65
|
+
}
|
|
63
66
|
export {
|
|
64
|
-
PasswordLoginOperationFull
|
|
67
|
+
PasswordLoginOperationFull,
|
|
68
|
+
passwordLoginFullOperation
|
|
65
69
|
};
|
|
@@ -23,6 +23,10 @@ var ProvideDataOperationFull = class extends OperationFull {
|
|
|
23
23
|
this.lowEventTracker?.destroy();
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
+
function provideDataOperationFull(tracker, config) {
|
|
27
|
+
return new ProvideDataOperationFull(tracker, config);
|
|
28
|
+
}
|
|
26
29
|
export {
|
|
27
|
-
ProvideDataOperationFull
|
|
30
|
+
ProvideDataOperationFull,
|
|
31
|
+
provideDataOperationFull
|
|
28
32
|
};
|
|
@@ -33,6 +33,10 @@ var SmsOtpOperationFull = class extends OperationFull {
|
|
|
33
33
|
this.lowEventTracker?.destroy();
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
+
function smsOtpOperationFull(tracker, config) {
|
|
37
|
+
return new SmsOtpOperationFull(tracker, config);
|
|
38
|
+
}
|
|
36
39
|
export {
|
|
37
|
-
SmsOtpOperationFull
|
|
40
|
+
SmsOtpOperationFull,
|
|
41
|
+
smsOtpOperationFull
|
|
38
42
|
};
|
|
@@ -12,6 +12,10 @@ var SocialLoginOperationFull = class extends OperationFull {
|
|
|
12
12
|
void this.subflowStart({ explicitSpecType: config.explicitSpecType, entry: config.entry });
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
+
function socialLoginOperationFull(tracker, config) {
|
|
16
|
+
return new SocialLoginOperationFull(tracker, config);
|
|
17
|
+
}
|
|
15
18
|
export {
|
|
16
|
-
SocialLoginOperationFull
|
|
19
|
+
SocialLoginOperationFull,
|
|
20
|
+
socialLoginOperationFull
|
|
17
21
|
};
|
|
@@ -32,6 +32,10 @@ function validateConfig(config, tracker) {
|
|
|
32
32
|
}
|
|
33
33
|
return result;
|
|
34
34
|
}
|
|
35
|
+
function ssoLoginOperationFull(tracker, config) {
|
|
36
|
+
return new SsoLoginOperationFull(tracker, config);
|
|
37
|
+
}
|
|
35
38
|
export {
|
|
36
|
-
SsoLoginOperationFull
|
|
39
|
+
SsoLoginOperationFull,
|
|
40
|
+
ssoLoginOperationFull
|
|
37
41
|
};
|
|
@@ -29,6 +29,10 @@ var TotpOperationFull = class extends OperationFull {
|
|
|
29
29
|
this.lowEventTracker?.destroy();
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
+
function totpOperationFull(tracker, config) {
|
|
33
|
+
return new TotpOperationFull(tracker, config);
|
|
34
|
+
}
|
|
32
35
|
export {
|
|
33
|
-
TotpOperationFull
|
|
36
|
+
TotpOperationFull,
|
|
37
|
+
totpOperationFull
|
|
34
38
|
};
|
|
@@ -94,7 +94,15 @@ function validateConfig(config, tracker) {
|
|
|
94
94
|
}
|
|
95
95
|
return result;
|
|
96
96
|
}
|
|
97
|
+
function trustedDeviceCheckOperationFull(tracker, config) {
|
|
98
|
+
return new TrustedDeviceCheckOperationFull(tracker, config);
|
|
99
|
+
}
|
|
100
|
+
function trustedDeviceEnrollmentOperationFull(tracker, config) {
|
|
101
|
+
return new TrustedDeviceEnrollmentOperationFull(tracker, config);
|
|
102
|
+
}
|
|
97
103
|
export {
|
|
98
104
|
TrustedDeviceCheckOperationFull,
|
|
99
|
-
TrustedDeviceEnrollmentOperationFull
|
|
105
|
+
TrustedDeviceEnrollmentOperationFull,
|
|
106
|
+
trustedDeviceCheckOperationFull,
|
|
107
|
+
trustedDeviceEnrollmentOperationFull
|
|
100
108
|
};
|