@tern-secure/auth 1.1.0-canary.v20251030165007 → 1.1.0-canary.v20251125170702
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/492_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/687_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/68_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/framework_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/signin_ternsecure_f36de9_1.1.0-canary.v20251125170702.css +2 -0
- package/dist/signin_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/signup_ternsecure_f36de9_1.1.0-canary.v20251125170702.css +2 -0
- package/dist/signup_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/ternsecure.browser.js +30 -0
- package/dist/ternsecure.css +2 -0
- package/dist/ternsecure.js +17 -0
- package/dist/ternsecure.mjs +17 -0
- package/dist/types/auth/AuthCookieManager.d.ts +17 -6
- package/dist/types/auth/cookies/authTime_cookie.d.ts +6 -0
- package/dist/types/index.browser.d.ts +1 -0
- package/dist/types/index.d.ts +3 -10
- package/dist/types/instance/c_coreApiClient.d.ts +2 -2
- package/dist/types/instance/constants.d.ts +3 -0
- package/dist/types/instance/coreApiClient.d.ts +0 -1
- package/dist/types/instance/events.d.ts +0 -1
- package/dist/types/instance/{TernAuth.d.ts → ternsecure.d.ts} +31 -19
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/resources/Base.d.ts +16 -3
- package/dist/types/resources/Error.d.ts +0 -1
- package/dist/types/resources/Session.d.ts +2 -2
- package/dist/types/resources/SignIn.d.ts +27 -10
- package/dist/types/resources/SignUp.d.ts +12 -10
- package/dist/types/resources/internal.d.ts +1 -2
- package/dist/types/ui/Renderer.d.ts +26 -0
- package/dist/types/ui/common/ProviderInitialIcon.d.ts +6 -0
- package/dist/types/ui/common/VerificationCodeCard.d.ts +12 -0
- package/dist/types/ui/common/VerificationLinkCard.d.ts +7 -0
- package/dist/types/ui/common/constants.d.ts +8 -0
- package/dist/types/ui/common/index.d.ts +3 -0
- package/dist/types/ui/components/sign-in/ResetPassword.d.ts +1 -0
- package/dist/types/ui/components/sign-in/ResetPasswordSuccess.d.ts +1 -0
- package/dist/types/ui/components/sign-in/SignIn.d.ts +4 -0
- package/dist/types/ui/components/sign-in/SignInEmailLinkCard.d.ts +2 -0
- package/dist/types/ui/components/sign-in/SignInFactorOne.d.ts +1 -0
- package/dist/types/ui/components/sign-in/SignInFactorOneCodeForm.d.ts +7 -0
- package/dist/types/ui/components/sign-in/SignInFactorOnePasswordCard.d.ts +6 -0
- package/dist/types/ui/components/sign-in/SignInFactorOnePhoneCodeCard.d.ts +7 -0
- package/dist/types/ui/components/sign-in/SignInPassword.d.ts +8 -0
- package/dist/types/ui/components/sign-in/SignInSocialButtons.d.ts +1 -0
- package/dist/types/ui/components/sign-in/SignInStart.d.ts +7 -0
- package/dist/types/ui/components/sign-in/SignInVerifyEmail.d.ts +1 -0
- package/dist/types/ui/components/sign-in/index.d.ts +4 -0
- package/dist/types/ui/components/sign-up/SignUp.d.ts +8 -0
- package/dist/types/ui/components/sign-up/SignUpEmailLinkCard.d.ts +2 -0
- package/dist/types/ui/components/sign-up/SignUpSocialButtons.d.ts +1 -0
- package/dist/types/ui/components/sign-up/SignUpStart.d.ts +1 -0
- package/dist/types/ui/components/sign-up/SignUpVerifyEmail.d.ts +1 -0
- package/dist/types/ui/components/sign-up/index.d.ts +2 -0
- package/dist/types/ui/components/sign-up/util.d.ts +14 -0
- package/dist/types/ui/components/user-button/index.d.ts +1 -0
- package/dist/types/ui/components/user-button/userButton.d.ts +1 -0
- package/dist/types/ui/ctx/TernAuthContext.d.ts +4 -0
- package/dist/types/ui/ctx/TernAuthUIComponentCtx.d.ts +8 -0
- package/dist/types/ui/ctx/TernSecureContextWrapper.d.ts +8 -0
- package/dist/types/ui/ctx/TernSecureOptions.d.ts +10 -0
- package/dist/types/ui/ctx/components/SignIn.d.ts +21 -0
- package/dist/types/ui/ctx/components/SignUp.d.ts +14 -0
- package/dist/types/ui/ctx/components/UserButton.d.ts +10 -0
- package/dist/types/ui/ctx/components/index.d.ts +3 -0
- package/dist/types/ui/ctx/index.d.ts +4 -0
- package/dist/types/ui/ctx/utils.d.ts +3 -0
- package/dist/types/ui/customize/FieldControl.d.ts +15 -0
- package/dist/types/ui/customize/FieldLabelControl.d.ts +11 -0
- package/dist/types/ui/customize/Form.d.ts +36 -0
- package/dist/types/ui/elements/CodeControl.d.ts +47 -0
- package/dist/types/ui/elements/ErrorCard.d.ts +10 -0
- package/dist/types/ui/elements/LoadingCard.d.ts +1 -0
- package/dist/types/ui/elements/RouterLink.d.ts +42 -0
- package/dist/types/ui/elements/SocialButtons.d.ts +6 -0
- package/dist/types/ui/elements/TimerButton.d.ts +9 -0
- package/dist/types/ui/elements/alert.d.ts +8 -0
- package/dist/types/ui/elements/avatar.d.ts +6 -0
- package/dist/types/ui/elements/button.d.ts +10 -0
- package/dist/types/ui/elements/card.d.ts +9 -0
- package/dist/types/ui/elements/ctx/CardStateCtx.d.ts +26 -0
- package/dist/types/ui/elements/ctx/index.d.ts +1 -0
- package/dist/types/ui/elements/field.d.ts +24 -0
- package/dist/types/ui/elements/index.d.ts +16 -0
- package/dist/types/ui/elements/input.d.ts +3 -0
- package/dist/types/ui/elements/label.d.ts +4 -0
- package/dist/types/ui/elements/separator.d.ts +4 -0
- package/dist/types/ui/hooks/index.d.ts +6 -0
- package/dist/types/ui/hooks/useEmailLink.d.ts +11 -0
- package/dist/types/ui/hooks/useFetch.d.ts +44 -0
- package/dist/types/ui/hooks/useLoadingStatus.d.ts +14 -0
- package/dist/types/ui/hooks/useNavigateToFlowStart.d.ts +3 -0
- package/dist/types/ui/hooks/useSafeState.d.ts +9 -0
- package/dist/types/ui/hooks/useWindowEventListener.d.ts +3 -0
- package/dist/types/ui/icons/index.d.ts +13 -0
- package/dist/types/ui/lazyLoading/common.d.ts +2 -0
- package/dist/types/ui/lazyLoading/components.d.ts +11 -0
- package/dist/types/ui/lazyLoading/providersCtx.d.ts +26 -0
- package/dist/types/ui/portal/index.d.ts +12 -0
- package/dist/types/ui/router/BaseRouter.d.ts +21 -0
- package/dist/types/ui/router/HashRouter.d.ts +8 -0
- package/dist/types/ui/router/PathRouter.d.ts +8 -0
- package/dist/types/ui/router/Route.d.ts +19 -0
- package/dist/types/ui/router/RouterCtx.d.ts +32 -0
- package/dist/types/ui/router/Switch.d.ts +4 -0
- package/dist/types/ui/router/index.d.ts +7 -0
- package/dist/types/ui/router/newPaths.d.ts +1 -0
- package/dist/types/ui/router/pathToRegexp.d.ts +127 -0
- package/dist/types/ui/types.d.ts +18 -0
- package/dist/types/ui/utils/form.d.ts +19 -0
- package/dist/types/ui/utils/index.d.ts +1 -0
- package/dist/types/ui/utils/sleep.d.ts +1 -0
- package/dist/types/utils/construct.d.ts +3 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/normalizeRoutingOptions.d.ts +6 -0
- package/dist/types/utils/path.d.ts +0 -1
- package/dist/types/utils/querystring.d.ts +0 -1
- package/dist/types/utils/redirectUrls.d.ts +4 -9
- package/dist/types/utils/windowNavigate.d.ts +0 -1
- package/dist/ui-common_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/userbutton_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/dist/vendors_ternsecure_f36de9_1.1.0-canary.v20251125170702.js +1 -0
- package/package.json +64 -25
- package/dist/cjs/auth/AuthCookieManager.js +0 -100
- package/dist/cjs/auth/AuthCookieManager.js.map +0 -1
- package/dist/cjs/auth/cookies/session.js +0 -83
- package/dist/cjs/auth/cookies/session.js.map +0 -1
- package/dist/cjs/auth/request.js +0 -159
- package/dist/cjs/auth/request.js.map +0 -1
- package/dist/cjs/global.d.js +0 -2
- package/dist/cjs/global.d.js.map +0 -1
- package/dist/cjs/index.js +0 -47
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/instance/TernAuth.js +0 -562
- package/dist/cjs/instance/TernAuth.js.map +0 -1
- package/dist/cjs/instance/TernAuthServer.js +0 -95
- package/dist/cjs/instance/TernAuthServer.js.map +0 -1
- package/dist/cjs/instance/c_coreApiClient.js +0 -264
- package/dist/cjs/instance/c_coreApiClient.js.map +0 -1
- package/dist/cjs/instance/coreApiClient.js +0 -255
- package/dist/cjs/instance/coreApiClient.js.map +0 -1
- package/dist/cjs/instance/events.js +0 -39
- package/dist/cjs/instance/events.js.map +0 -1
- package/dist/cjs/instance/jwtClient.js +0 -72
- package/dist/cjs/instance/jwtClient.js.map +0 -1
- package/dist/cjs/resources/Base.js +0 -137
- package/dist/cjs/resources/Base.js.map +0 -1
- package/dist/cjs/resources/Error.js +0 -31
- package/dist/cjs/resources/Error.js.map +0 -1
- package/dist/cjs/resources/Session.js +0 -105
- package/dist/cjs/resources/Session.js.map +0 -1
- package/dist/cjs/resources/SignIn.js +0 -256
- package/dist/cjs/resources/SignIn.js.map +0 -1
- package/dist/cjs/resources/SignUp.js +0 -72
- package/dist/cjs/resources/SignUp.js.map +0 -1
- package/dist/cjs/resources/Token.js +0 -32
- package/dist/cjs/resources/Token.js.map +0 -1
- package/dist/cjs/resources/UserData.js +0 -43
- package/dist/cjs/resources/UserData.js.map +0 -1
- package/dist/cjs/resources/cookie.js +0 -154
- package/dist/cjs/resources/cookie.js.map +0 -1
- package/dist/cjs/resources/index.js +0 -23
- package/dist/cjs/resources/index.js.map +0 -1
- package/dist/cjs/resources/internal.js +0 -35
- package/dist/cjs/resources/internal.js.map +0 -1
- package/dist/cjs/utils/construct.js +0 -253
- package/dist/cjs/utils/construct.js.map +0 -1
- package/dist/cjs/utils/index.js +0 -29
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/jwt.js +0 -46
- package/dist/cjs/utils/jwt.js.map +0 -1
- package/dist/cjs/utils/mapDecode.js +0 -33
- package/dist/cjs/utils/mapDecode.js.map +0 -1
- package/dist/cjs/utils/path.js +0 -33
- package/dist/cjs/utils/path.js.map +0 -1
- package/dist/cjs/utils/querystring.js +0 -70
- package/dist/cjs/utils/querystring.js.map +0 -1
- package/dist/cjs/utils/redirectUrls.js +0 -156
- package/dist/cjs/utils/redirectUrls.js.map +0 -1
- package/dist/cjs/utils/windowNavigate.js +0 -45
- package/dist/cjs/utils/windowNavigate.js.map +0 -1
- package/dist/esm/auth/AuthCookieManager.js +0 -76
- package/dist/esm/auth/AuthCookieManager.js.map +0 -1
- package/dist/esm/auth/cookies/session.js +0 -58
- package/dist/esm/auth/cookies/session.js.map +0 -1
- package/dist/esm/auth/request.js +0 -134
- package/dist/esm/auth/request.js.map +0 -1
- package/dist/esm/global.d.js +0 -1
- package/dist/esm/global.d.js.map +0 -1
- package/dist/esm/index.js +0 -16
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/instance/TernAuth.js +0 -548
- package/dist/esm/instance/TernAuth.js.map +0 -1
- package/dist/esm/instance/TernAuthServer.js +0 -73
- package/dist/esm/instance/TernAuthServer.js.map +0 -1
- package/dist/esm/instance/c_coreApiClient.js +0 -236
- package/dist/esm/instance/c_coreApiClient.js.map +0 -1
- package/dist/esm/instance/coreApiClient.js +0 -226
- package/dist/esm/instance/coreApiClient.js.map +0 -1
- package/dist/esm/instance/events.js +0 -14
- package/dist/esm/instance/events.js.map +0 -1
- package/dist/esm/instance/jwtClient.js +0 -47
- package/dist/esm/instance/jwtClient.js.map +0 -1
- package/dist/esm/resources/Base.js +0 -113
- package/dist/esm/resources/Base.js.map +0 -1
- package/dist/esm/resources/Error.js +0 -9
- package/dist/esm/resources/Error.js.map +0 -1
- package/dist/esm/resources/Session.js +0 -81
- package/dist/esm/resources/Session.js.map +0 -1
- package/dist/esm/resources/SignIn.js +0 -240
- package/dist/esm/resources/SignIn.js.map +0 -1
- package/dist/esm/resources/SignUp.js +0 -48
- package/dist/esm/resources/SignUp.js.map +0 -1
- package/dist/esm/resources/Token.js +0 -8
- package/dist/esm/resources/Token.js.map +0 -1
- package/dist/esm/resources/UserData.js +0 -19
- package/dist/esm/resources/UserData.js.map +0 -1
- package/dist/esm/resources/cookie.js +0 -130
- package/dist/esm/resources/cookie.js.map +0 -1
- package/dist/esm/resources/index.js +0 -2
- package/dist/esm/resources/index.js.map +0 -1
- package/dist/esm/resources/internal.js +0 -8
- package/dist/esm/resources/internal.js.map +0 -1
- package/dist/esm/utils/construct.js +0 -215
- package/dist/esm/utils/construct.js.map +0 -1
- package/dist/esm/utils/index.js +0 -5
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/jwt.js +0 -22
- package/dist/esm/utils/jwt.js.map +0 -1
- package/dist/esm/utils/mapDecode.js +0 -9
- package/dist/esm/utils/mapDecode.js.map +0 -1
- package/dist/esm/utils/path.js +0 -9
- package/dist/esm/utils/path.js.map +0 -1
- package/dist/esm/utils/querystring.js +0 -45
- package/dist/esm/utils/querystring.js.map +0 -1
- package/dist/esm/utils/redirectUrls.js +0 -132
- package/dist/esm/utils/redirectUrls.js.map +0 -1
- package/dist/esm/utils/windowNavigate.js +0 -19
- package/dist/esm/utils/windowNavigate.js.map +0 -1
- package/dist/types/auth/AuthCookieManager.d.ts.map +0 -1
- package/dist/types/auth/cookies/session.d.ts +0 -8
- package/dist/types/auth/cookies/session.d.ts.map +0 -1
- package/dist/types/auth/request.d.ts +0 -49
- package/dist/types/auth/request.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/instance/TernAuth.d.ts.map +0 -1
- package/dist/types/instance/TernAuthServer.d.ts +0 -32
- package/dist/types/instance/TernAuthServer.d.ts.map +0 -1
- package/dist/types/instance/c_coreApiClient.d.ts.map +0 -1
- package/dist/types/instance/coreApiClient.d.ts.map +0 -1
- package/dist/types/instance/events.d.ts.map +0 -1
- package/dist/types/instance/jwtClient.d.ts +0 -22
- package/dist/types/instance/jwtClient.d.ts.map +0 -1
- package/dist/types/resources/Base.d.ts.map +0 -1
- package/dist/types/resources/Error.d.ts.map +0 -1
- package/dist/types/resources/Session.d.ts.map +0 -1
- package/dist/types/resources/SignIn.d.ts.map +0 -1
- package/dist/types/resources/SignUp.d.ts.map +0 -1
- package/dist/types/resources/Token.d.ts +0 -5
- package/dist/types/resources/Token.d.ts.map +0 -1
- package/dist/types/resources/UserData.d.ts +0 -8
- package/dist/types/resources/UserData.d.ts.map +0 -1
- package/dist/types/resources/cookie.d.ts +0 -24
- package/dist/types/resources/cookie.d.ts.map +0 -1
- package/dist/types/resources/index.d.ts +0 -2
- package/dist/types/resources/index.d.ts.map +0 -1
- package/dist/types/resources/internal.d.ts.map +0 -1
- package/dist/types/utils/construct.d.ts.map +0 -1
- package/dist/types/utils/index.d.ts.map +0 -1
- package/dist/types/utils/jwt.d.ts +0 -12
- package/dist/types/utils/jwt.d.ts.map +0 -1
- package/dist/types/utils/mapDecode.d.ts +0 -4
- package/dist/types/utils/mapDecode.d.ts.map +0 -1
- package/dist/types/utils/path.d.ts.map +0 -1
- package/dist/types/utils/querystring.d.ts.map +0 -1
- package/dist/types/utils/redirectUrls.d.ts.map +0 -1
- package/dist/types/utils/windowNavigate.d.ts.map +0 -1
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var SignIn_exports = {};
|
|
20
|
-
__export(SignIn_exports, {
|
|
21
|
-
SignIn: () => SignIn
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(SignIn_exports);
|
|
24
|
-
var import_errors = require("@tern-secure/shared/errors");
|
|
25
|
-
var import_auth = require("firebase/auth");
|
|
26
|
-
var import_Base = require("./Base");
|
|
27
|
-
class SignIn extends import_Base.TernSecureBase {
|
|
28
|
-
pathRoot = "/sessions/createsession";
|
|
29
|
-
status = null;
|
|
30
|
-
auth;
|
|
31
|
-
csrfToken;
|
|
32
|
-
_currentUser = null;
|
|
33
|
-
constructor(auth, csrfToken) {
|
|
34
|
-
super();
|
|
35
|
-
this.auth = auth;
|
|
36
|
-
this.csrfToken = csrfToken;
|
|
37
|
-
}
|
|
38
|
-
signInWithCredential = async (credential) => {
|
|
39
|
-
const idToken = await credential.user.getIdToken();
|
|
40
|
-
const params = {
|
|
41
|
-
idToken,
|
|
42
|
-
csrfToken: this.csrfToken
|
|
43
|
-
};
|
|
44
|
-
return this._post({
|
|
45
|
-
path: this.pathRoot,
|
|
46
|
-
body: params
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
withEmailAndPassword = async (params) => {
|
|
50
|
-
try {
|
|
51
|
-
const { email, password } = params;
|
|
52
|
-
const { user, providerId, operationType } = await (0, import_auth.signInWithEmailAndPassword)(
|
|
53
|
-
this.auth,
|
|
54
|
-
email,
|
|
55
|
-
password
|
|
56
|
-
);
|
|
57
|
-
return {
|
|
58
|
-
status: "success",
|
|
59
|
-
user,
|
|
60
|
-
providerId,
|
|
61
|
-
operationType,
|
|
62
|
-
message: "Authentication successful",
|
|
63
|
-
error: !user.emailVerified ? "REQUIRES_VERIFICATION" : "AUTHENTICATED"
|
|
64
|
-
};
|
|
65
|
-
} catch (error) {
|
|
66
|
-
const authError = (0, import_errors.handleFirebaseAuthError)(error);
|
|
67
|
-
return {
|
|
68
|
-
status: "error",
|
|
69
|
-
message: authError.message,
|
|
70
|
-
error: authError.code
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
withCredential = async (params) => {
|
|
75
|
-
try {
|
|
76
|
-
const { email, password } = params;
|
|
77
|
-
const userCredential = await (0, import_auth.signInWithEmailAndPassword)(this.auth, email, password);
|
|
78
|
-
await this.signInWithCredential(userCredential);
|
|
79
|
-
} catch (error) {
|
|
80
|
-
const authError = (0, import_errors.handleFirebaseAuthError)(error);
|
|
81
|
-
console.error(authError);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
withSocialProvider = async (provider, options = {}) => {
|
|
85
|
-
try {
|
|
86
|
-
const { mode = "popup" } = options;
|
|
87
|
-
if (mode === "redirect") {
|
|
88
|
-
const redirectResult = await this.authRedirectResult();
|
|
89
|
-
if (redirectResult) {
|
|
90
|
-
return redirectResult;
|
|
91
|
-
}
|
|
92
|
-
return await this._signInWithRedirect(provider, options);
|
|
93
|
-
} else {
|
|
94
|
-
return await this._signInWithPopUp(provider, options);
|
|
95
|
-
}
|
|
96
|
-
} catch (error) {
|
|
97
|
-
return {
|
|
98
|
-
status: "error",
|
|
99
|
-
message: error.message || `Sign in with ${provider} failed`,
|
|
100
|
-
error
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
completeMfaSignIn = async (_mfaToken, _mfaContext) => {
|
|
105
|
-
throw new Error("Method not implemented.");
|
|
106
|
-
};
|
|
107
|
-
sendPasswordResetEmail = async (email) => {
|
|
108
|
-
console.log(`Sending password reset email to ${email}`);
|
|
109
|
-
};
|
|
110
|
-
resendEmailVerification = async () => {
|
|
111
|
-
const user = this._currentUser;
|
|
112
|
-
if (!user) {
|
|
113
|
-
throw new Error("No user is currently signed in");
|
|
114
|
-
}
|
|
115
|
-
await user.reload();
|
|
116
|
-
if (user.emailVerified) {
|
|
117
|
-
return {
|
|
118
|
-
isVerified: true
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
const actionCodeSettings = {
|
|
122
|
-
url: "/sign-in",
|
|
123
|
-
// TODO: Make this configurable
|
|
124
|
-
handleCodeInApp: true
|
|
125
|
-
};
|
|
126
|
-
await (0, import_auth.sendEmailVerification)(user, actionCodeSettings);
|
|
127
|
-
return {
|
|
128
|
-
isVerified: false
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
|
-
getProviderConfig(providerName) {
|
|
132
|
-
switch (providerName.toLowerCase()) {
|
|
133
|
-
case "google": {
|
|
134
|
-
const googleProvider = new import_auth.GoogleAuthProvider();
|
|
135
|
-
return { provider: googleProvider };
|
|
136
|
-
}
|
|
137
|
-
case "apple": {
|
|
138
|
-
const appleProvider = new import_auth.OAuthProvider("apple.com");
|
|
139
|
-
return { provider: appleProvider };
|
|
140
|
-
}
|
|
141
|
-
case "microsoft": {
|
|
142
|
-
const microsoftProvider = new import_auth.OAuthProvider("microsoft.com");
|
|
143
|
-
return { provider: microsoftProvider };
|
|
144
|
-
}
|
|
145
|
-
case "github": {
|
|
146
|
-
const githubProvider = new import_auth.OAuthProvider("github.com");
|
|
147
|
-
return { provider: githubProvider };
|
|
148
|
-
}
|
|
149
|
-
case "twitter": {
|
|
150
|
-
const twitterProvider = new import_auth.OAuthProvider("twitter.com");
|
|
151
|
-
return { provider: twitterProvider };
|
|
152
|
-
}
|
|
153
|
-
case "facebook": {
|
|
154
|
-
const facebookProvider = new import_auth.OAuthProvider("facebook.com");
|
|
155
|
-
return { provider: facebookProvider };
|
|
156
|
-
}
|
|
157
|
-
default:
|
|
158
|
-
throw new Error(`Unsupported provider: ${providerName}`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
async authRedirectResult() {
|
|
162
|
-
try {
|
|
163
|
-
const result = await (0, import_auth.getRedirectResult)(this.auth);
|
|
164
|
-
if (result) {
|
|
165
|
-
const { user, providerId, operationType } = result;
|
|
166
|
-
return {
|
|
167
|
-
status: "success",
|
|
168
|
-
user,
|
|
169
|
-
providerId,
|
|
170
|
-
operationType
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
return null;
|
|
174
|
-
} catch (error) {
|
|
175
|
-
const authError = (0, import_errors.handleFirebaseAuthError)(error);
|
|
176
|
-
return {
|
|
177
|
-
status: "error",
|
|
178
|
-
message: authError.message,
|
|
179
|
-
error: authError.code
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Sets custom OAuth parameters on the provider if provided by consumer
|
|
185
|
-
* @param provider - Firebase auth provider instance
|
|
186
|
-
* @param customParameters - Consumer-provided OAuth parameters
|
|
187
|
-
*/
|
|
188
|
-
setProviderCustomParameters(provider, customParameters) {
|
|
189
|
-
if (!customParameters || Object.keys(customParameters).length === 0) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
provider.setCustomParameters(customParameters);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Adds OAuth scopes to the provider if provided by consumer
|
|
196
|
-
* Handles provider-specific scope setting logic
|
|
197
|
-
* @param provider - Firebase auth provider instance
|
|
198
|
-
* @param scopes - Array of OAuth scopes to request
|
|
199
|
-
*/
|
|
200
|
-
setProviderScopes(provider, scopes) {
|
|
201
|
-
if (!scopes || scopes.length === 0) {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
if (provider instanceof import_auth.GoogleAuthProvider) {
|
|
205
|
-
scopes.forEach((scope) => {
|
|
206
|
-
provider.addScope(scope);
|
|
207
|
-
});
|
|
208
|
-
} else if (provider instanceof import_auth.OAuthProvider) {
|
|
209
|
-
provider.addScope(scopes.join(" "));
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Configures OAuth provider with consumer-provided options
|
|
214
|
-
* @param provider - Firebase auth provider instance
|
|
215
|
-
* @param options - Consumer options containing custom parameters and scopes
|
|
216
|
-
*/
|
|
217
|
-
configureProvider(provider, options) {
|
|
218
|
-
this.setProviderCustomParameters(provider, options.customParameters);
|
|
219
|
-
this.setProviderScopes(provider, options.scopes);
|
|
220
|
-
}
|
|
221
|
-
executeAuthMethod = async (authMethod, providerName, options = {}) => {
|
|
222
|
-
try {
|
|
223
|
-
const config = this.getProviderConfig(providerName);
|
|
224
|
-
this.configureProvider(config.provider, options);
|
|
225
|
-
const { user, providerId, operationType } = await authMethod(this.auth, config.provider);
|
|
226
|
-
return {
|
|
227
|
-
status: "success",
|
|
228
|
-
message: "Authentication successful",
|
|
229
|
-
user,
|
|
230
|
-
providerId,
|
|
231
|
-
operationType
|
|
232
|
-
};
|
|
233
|
-
} catch (error) {
|
|
234
|
-
const authError = (0, import_errors.handleFirebaseAuthError)(error);
|
|
235
|
-
return {
|
|
236
|
-
status: "error",
|
|
237
|
-
message: authError.message,
|
|
238
|
-
error: authError.code
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
async _signInWithRedirect(providerName, options = {}) {
|
|
243
|
-
return this.executeAuthMethod(import_auth.signInWithRedirect, providerName, options);
|
|
244
|
-
}
|
|
245
|
-
async _signInWithPopUp(providerName, options = {}) {
|
|
246
|
-
return this.executeAuthMethod(import_auth.signInWithPopup, providerName, options);
|
|
247
|
-
}
|
|
248
|
-
async checkRedirectResult() {
|
|
249
|
-
return this.authRedirectResult();
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
253
|
-
0 && (module.exports = {
|
|
254
|
-
SignIn
|
|
255
|
-
});
|
|
256
|
-
//# sourceMappingURL=SignIn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/SignIn.ts"],"sourcesContent":["import { handleFirebaseAuthError } from '@tern-secure/shared/errors';\nimport type {\n ResendEmailVerification,\n SignInFormValues,\n SignInResource,\n SignInResponse as SignInResponseFromTypes,\n SignInStatus,\n SocialProviderOptions,\n TernSecureUser,\n} from '@tern-secure/types';\nimport type { Auth, UserCredential } from 'firebase/auth';\nimport {\n getRedirectResult,\n GoogleAuthProvider,\n OAuthProvider,\n sendEmailVerification,\n signInWithEmailAndPassword,\n signInWithPopup,\n signInWithRedirect,\n} from 'firebase/auth';\n\nimport { TernSecureBase } from './Base';\n\ntype SignInResponse = SignInResponseFromTypes;\n\ninterface ProviderConfig {\n provider: GoogleAuthProvider | OAuthProvider;\n //customParameters: Record<string, string>;\n}\n\nexport type TernRequestInit = RequestInit;\n\nexport type SignInParams = {\n idToken: string;\n csrfToken: string | undefined;\n};\n\ntype FirebaseAuthResult = UserCredential;\n\ntype AuthMethodFunction = (\n auth: Auth,\n provider: GoogleAuthProvider | OAuthProvider,\n) => Promise<FirebaseAuthResult>;\n\n/**\n * Supported OAuth providers\n */\nexport type SupportedProvider =\n | 'google'\n | 'apple'\n | 'microsoft'\n | 'github'\n | 'twitter'\n | 'facebook'\n | string; // Allow custom providers like 'custom.provider.com'\n\nexport class SignIn extends TernSecureBase implements SignInResource {\n pathRoot = '/sessions/createsession';\n\n status: SignInStatus | null = null;\n private auth: Auth;\n private csrfToken: string | undefined;\n private _currentUser: TernSecureUser | null = null;\n\n constructor(auth: Auth, csrfToken: string | undefined) {\n super();\n this.auth = auth;\n this.csrfToken = csrfToken;\n }\n\n signInWithCredential = async (credential: UserCredential) => {\n const idToken = await credential.user.getIdToken();\n const params = {\n idToken: idToken,\n csrfToken: this.csrfToken,\n };\n\n return this._post({\n path: this.pathRoot,\n body: params,\n });\n };\n\n withEmailAndPassword = async (params: SignInFormValues): Promise<SignInResponse> => {\n try {\n const { email, password } = params;\n const { user, providerId, operationType } = await signInWithEmailAndPassword(\n this.auth,\n email,\n password,\n );\n return {\n status: 'success',\n user,\n providerId,\n operationType,\n message: 'Authentication successful',\n error: !user.emailVerified ? 'REQUIRES_VERIFICATION' : 'AUTHENTICATED',\n };\n } catch (error) {\n const authError = handleFirebaseAuthError(error);\n return {\n status: 'error',\n message: authError.message,\n error: authError.code,\n };\n }\n };\n\n withCredential = async (params: SignInFormValues): Promise<void> => {\n try {\n const { email, password } = params;\n const userCredential = await signInWithEmailAndPassword(this.auth, email, password);\n await this.signInWithCredential(userCredential);\n } catch (error) {\n const authError = handleFirebaseAuthError(error);\n console.error(authError);\n }\n };\n\n withSocialProvider = async (\n provider: SupportedProvider,\n options: SocialProviderOptions = {},\n ): Promise<SignInResponse> => {\n try {\n const { mode = 'popup' } = options;\n if (mode === 'redirect') {\n const redirectResult = await this.authRedirectResult();\n\n if (redirectResult) {\n return redirectResult;\n }\n\n return await this._signInWithRedirect(provider, options);\n } else {\n return await this._signInWithPopUp(provider, options);\n }\n } catch (error: any) {\n return {\n status: 'error',\n message: error.message || `Sign in with ${provider} failed`,\n error,\n };\n }\n };\n\n completeMfaSignIn = async (_mfaToken: string, _mfaContext?: any): Promise<SignInResponse> => {\n throw new Error('Method not implemented.');\n };\n\n sendPasswordResetEmail = async (email: string): Promise<void> => {\n console.log(`Sending password reset email to ${email}`);\n };\n\n resendEmailVerification = async (): Promise<ResendEmailVerification> => {\n const user = this._currentUser;\n if (!user) {\n throw new Error('No user is currently signed in');\n }\n\n await user.reload();\n\n if (user.emailVerified) {\n return {\n isVerified: true,\n };\n }\n\n const actionCodeSettings = {\n url: '/sign-in', // TODO: Make this configurable\n handleCodeInApp: true,\n };\n\n await sendEmailVerification(user, actionCodeSettings);\n return {\n isVerified: false,\n };\n };\n\n private getProviderConfig(providerName: SupportedProvider): ProviderConfig {\n switch (providerName.toLowerCase()) {\n case 'google': {\n const googleProvider = new GoogleAuthProvider();\n return { provider: googleProvider };\n }\n case 'apple': {\n const appleProvider = new OAuthProvider('apple.com');\n return { provider: appleProvider };\n }\n case 'microsoft': {\n const microsoftProvider = new OAuthProvider('microsoft.com');\n return { provider: microsoftProvider };\n }\n case 'github': {\n const githubProvider = new OAuthProvider('github.com');\n return { provider: githubProvider };\n }\n case 'twitter': {\n const twitterProvider = new OAuthProvider('twitter.com');\n return { provider: twitterProvider };\n }\n case 'facebook': {\n const facebookProvider = new OAuthProvider('facebook.com');\n return { provider: facebookProvider };\n }\n default:\n throw new Error(`Unsupported provider: ${providerName}`);\n }\n }\n\n private async authRedirectResult(): Promise<SignInResponse | null> {\n try {\n const result = await getRedirectResult(this.auth);\n\n if (result) {\n const { user, providerId, operationType } = result;\n return {\n status: 'success',\n user,\n providerId,\n operationType,\n };\n }\n return null;\n } catch (error) {\n const authError = handleFirebaseAuthError(error);\n return {\n status: 'error',\n message: authError.message,\n error: authError.code,\n };\n }\n }\n\n /**\n * Sets custom OAuth parameters on the provider if provided by consumer\n * @param provider - Firebase auth provider instance\n * @param customParameters - Consumer-provided OAuth parameters\n */\n private setProviderCustomParameters(\n provider: GoogleAuthProvider | OAuthProvider,\n customParameters?: Record<string, string>,\n ): void {\n if (!customParameters || Object.keys(customParameters).length === 0) {\n return;\n }\n\n provider.setCustomParameters(customParameters);\n }\n\n /**\n * Adds OAuth scopes to the provider if provided by consumer\n * Handles provider-specific scope setting logic\n * @param provider - Firebase auth provider instance\n * @param scopes - Array of OAuth scopes to request\n */\n private setProviderScopes(provider: GoogleAuthProvider | OAuthProvider, scopes?: string[]): void {\n if (!scopes || scopes.length === 0) {\n return;\n }\n\n if (provider instanceof GoogleAuthProvider) {\n // Google provider supports individual scope addition\n scopes.forEach(scope => {\n (provider as GoogleAuthProvider).addScope(scope);\n });\n } else if (provider instanceof OAuthProvider) {\n // OAuth providers expect space-separated scope string\n (provider as OAuthProvider).addScope(scopes.join(' '));\n }\n }\n\n /**\n * Configures OAuth provider with consumer-provided options\n * @param provider - Firebase auth provider instance\n * @param options - Consumer options containing custom parameters and scopes\n */\n private configureProvider(\n provider: GoogleAuthProvider | OAuthProvider,\n options: SocialProviderOptions,\n ): void {\n this.setProviderCustomParameters(provider, options.customParameters);\n this.setProviderScopes(provider, options.scopes);\n }\n\n private executeAuthMethod = async (\n authMethod: AuthMethodFunction,\n providerName: SupportedProvider,\n options: SocialProviderOptions = {},\n ): Promise<SignInResponse> => {\n try {\n const config = this.getProviderConfig(providerName);\n\n this.configureProvider(config.provider, options);\n\n const { user, providerId, operationType } = await authMethod(this.auth, config.provider);\n\n return {\n status: 'success',\n message: 'Authentication successful',\n user,\n providerId,\n operationType,\n };\n } catch (error) {\n const authError = handleFirebaseAuthError(error);\n return {\n status: 'error',\n message: authError.message,\n error: authError.code,\n };\n }\n };\n\n private async _signInWithRedirect(\n providerName: SupportedProvider,\n options: SocialProviderOptions = {},\n ): Promise<SignInResponse> {\n return this.executeAuthMethod(signInWithRedirect, providerName, options);\n }\n\n private async _signInWithPopUp(\n providerName: SupportedProvider,\n options: SocialProviderOptions = {},\n ): Promise<SignInResponse> {\n return this.executeAuthMethod(signInWithPopup, providerName, options);\n }\n\n public async checkRedirectResult(): Promise<SignInResponse | null> {\n return this.authRedirectResult();\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var SignUp_exports = {};
|
|
20
|
-
__export(SignUp_exports, {
|
|
21
|
-
SignUp: () => SignUp
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(SignUp_exports);
|
|
24
|
-
var import_errors = require("@tern-secure/shared/errors");
|
|
25
|
-
var import_auth = require("firebase/auth");
|
|
26
|
-
var import_Base = require("./Base");
|
|
27
|
-
class SignUp extends import_Base.TernSecureBase {
|
|
28
|
-
status = null;
|
|
29
|
-
username = null;
|
|
30
|
-
firstName = null;
|
|
31
|
-
lastName = null;
|
|
32
|
-
displayName = null;
|
|
33
|
-
email = null;
|
|
34
|
-
phoneNumber = null;
|
|
35
|
-
auth;
|
|
36
|
-
constructor(auth) {
|
|
37
|
-
super();
|
|
38
|
-
this.auth = auth;
|
|
39
|
-
}
|
|
40
|
-
withEmailAndPassword = async (params) => {
|
|
41
|
-
try {
|
|
42
|
-
const { email, password } = params;
|
|
43
|
-
const { user, providerId, operationType } = await (0, import_auth.createUserWithEmailAndPassword)(
|
|
44
|
-
this.auth,
|
|
45
|
-
email,
|
|
46
|
-
password
|
|
47
|
-
);
|
|
48
|
-
return {
|
|
49
|
-
status: "complete",
|
|
50
|
-
user,
|
|
51
|
-
providerId,
|
|
52
|
-
operationType,
|
|
53
|
-
message: "User registration successful"
|
|
54
|
-
};
|
|
55
|
-
} catch (error) {
|
|
56
|
-
const authError = (0, import_errors.handleFirebaseAuthError)(error);
|
|
57
|
-
return {
|
|
58
|
-
status: "error",
|
|
59
|
-
message: authError.message,
|
|
60
|
-
error: authError.code
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
withSocialProvider() {
|
|
65
|
-
throw new Error("Method not implemented.");
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
-
0 && (module.exports = {
|
|
70
|
-
SignUp
|
|
71
|
-
});
|
|
72
|
-
//# sourceMappingURL=SignUp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/SignUp.ts"],"sourcesContent":["import { handleFirebaseAuthError } from '@tern-secure/shared/errors';\nimport type {\n SignUpInitialValue,\n SignUpResource,\n SignUpResponse,\n SignUpStatus,\n} from '@tern-secure/types';\nimport type { Auth } from 'firebase/auth';\nimport { createUserWithEmailAndPassword } from 'firebase/auth';\n\nimport { TernSecureBase } from './Base';\n\nexport class SignUp extends TernSecureBase implements SignUpResource {\n status: SignUpStatus | null = null;\n username: string | null = null;\n firstName: string | null = null;\n lastName: string | null = null;\n displayName: string | null = null;\n email: string | null = null;\n phoneNumber: string | null = null;\n private auth: Auth;\n\n constructor(auth: Auth) {\n super();\n this.auth = auth;\n }\n\n withEmailAndPassword = async (params: SignUpInitialValue): Promise<SignUpResponse> => {\n try {\n const { email, password } = params;\n const { user, providerId, operationType } = await createUserWithEmailAndPassword(\n this.auth,\n email,\n password,\n );\n return {\n status: 'complete',\n user,\n providerId,\n operationType,\n message: 'User registration successful',\n };\n } catch (error) {\n const authError = handleFirebaseAuthError(error);\n return {\n status: 'error',\n message: authError.message,\n error: authError.code,\n };\n }\n };\n\n withSocialProvider(): Promise<void> {\n throw new Error('Method not implemented.');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAwC;AAQxC,kBAA+C;AAE/C,kBAA+B;AAExB,MAAM,eAAe,2BAAyC;AAAA,EACnE,SAA8B;AAAA,EAC9B,WAA0B;AAAA,EAC1B,YAA2B;AAAA,EAC3B,WAA0B;AAAA,EAC1B,cAA6B;AAAA,EAC7B,QAAuB;AAAA,EACvB,cAA6B;AAAA,EACrB;AAAA,EAER,YAAY,MAAY;AACtB,UAAM;AACN,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,uBAAuB,OAAO,WAAwD;AACpF,QAAI;AACF,YAAM,EAAE,OAAO,SAAS,IAAI;AAC5B,YAAM,EAAE,MAAM,YAAY,cAAc,IAAI,UAAM;AAAA,QAChD,KAAK;AAAA,QACL;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF,SAAS,OAAO;AACd,YAAM,gBAAY,uCAAwB,KAAK;AAC/C,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS,UAAU;AAAA,QACnB,OAAO,UAAU;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,qBAAoC;AAClC,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACF;","names":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var Token_exports = {};
|
|
20
|
-
__export(Token_exports, {
|
|
21
|
-
Token: () => Token
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(Token_exports);
|
|
24
|
-
var import_Base = require("./Base");
|
|
25
|
-
class Token extends import_Base.TernSecureBase {
|
|
26
|
-
pathroot = "tokens";
|
|
27
|
-
}
|
|
28
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
-
0 && (module.exports = {
|
|
30
|
-
Token
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=Token.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/Token.ts"],"sourcesContent":["import { TernSecureBase } from './Base';\n\nexport class Token extends TernSecureBase {\n pathroot = 'tokens';\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+B;AAExB,MAAM,cAAc,2BAAe;AAAA,EACtC,WAAW;AACf;","names":[]}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var UserData_exports = {};
|
|
20
|
-
__export(UserData_exports, {
|
|
21
|
-
UserData: () => UserData
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(UserData_exports);
|
|
24
|
-
var import_Base = require("./Base");
|
|
25
|
-
class UserData extends import_Base.TernSecureBase {
|
|
26
|
-
pathRoot = "/accounts/lookup";
|
|
27
|
-
idToken;
|
|
28
|
-
constructor(idToken) {
|
|
29
|
-
super();
|
|
30
|
-
this.idToken = idToken;
|
|
31
|
-
}
|
|
32
|
-
get = async () => {
|
|
33
|
-
return this._post({
|
|
34
|
-
path: this.pathRoot,
|
|
35
|
-
method: "POST"
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
-
0 && (module.exports = {
|
|
41
|
-
UserData
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=UserData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/UserData.ts"],"sourcesContent":["import { TernSecureBase } from './Base';\n\nexport class UserData extends TernSecureBase {\n pathRoot = '/accounts/lookup';\n\n private idToken: string | undefined;\n\n constructor(idToken?: string) {\n super();\n this.idToken = idToken;\n }\n\n get = async () => {\n return this._post({\n path: this.pathRoot,\n method: 'POST',\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+B;AAExB,MAAM,iBAAiB,2BAAe;AAAA,EAC3C,WAAW;AAAA,EAEH;AAAA,EAER,YAAY,SAAkB;AAC5B,UAAM;AACN,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,MAAM,YAAY;AAChB,WAAO,KAAK,MAAM;AAAA,MAChB,MAAM,KAAK;AAAA,MACX,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var cookie_exports = {};
|
|
20
|
-
__export(cookie_exports, {
|
|
21
|
-
Cookie: () => Cookie
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cookie_exports);
|
|
24
|
-
var import_Base = require("./Base");
|
|
25
|
-
class Cookie extends import_Base.TernSecureBase {
|
|
26
|
-
pathroot = "cookies";
|
|
27
|
-
idToken;
|
|
28
|
-
sessionToken;
|
|
29
|
-
refreshToken;
|
|
30
|
-
customToken;
|
|
31
|
-
constructor() {
|
|
32
|
-
super();
|
|
33
|
-
}
|
|
34
|
-
getTokenInCookie = (tokenName) => {
|
|
35
|
-
return this.baseGet({
|
|
36
|
-
path: `${this.pathroot}/get`,
|
|
37
|
-
search: { tokenName }
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
parseTokenResponse = (apiResponse, tokenType) => {
|
|
41
|
-
if (!apiResponse) {
|
|
42
|
-
return {
|
|
43
|
-
success: false,
|
|
44
|
-
error: `${tokenType} not found in httpOnly cookies`
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const { success, token, error } = apiResponse;
|
|
48
|
-
return {
|
|
49
|
-
success,
|
|
50
|
-
token,
|
|
51
|
-
error
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
getIdToken = async () => {
|
|
55
|
-
const res = await this.getTokenInCookie("idToken");
|
|
56
|
-
return this.parseTokenResponse(res, "idToken");
|
|
57
|
-
};
|
|
58
|
-
getSessionToken = async () => {
|
|
59
|
-
var _a;
|
|
60
|
-
try {
|
|
61
|
-
const response = await this.getTokenInCookie("sessionToken");
|
|
62
|
-
if (!response || !((_a = response.response) == null ? void 0 : _a.token)) {
|
|
63
|
-
return {
|
|
64
|
-
success: false,
|
|
65
|
-
error: "Session token not found in httpOnly cookies"
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
success: true,
|
|
70
|
-
token: response.response.token
|
|
71
|
-
};
|
|
72
|
-
} catch (error) {
|
|
73
|
-
return {
|
|
74
|
-
success: false,
|
|
75
|
-
error: `Failed to retrieve session token: ${error instanceof Error ? error.message : String(error)}`
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
getRefreshToken = async () => {
|
|
80
|
-
var _a;
|
|
81
|
-
try {
|
|
82
|
-
const response = await this.getTokenInCookie("refreshToken");
|
|
83
|
-
if (!response || !((_a = response.response) == null ? void 0 : _a.token)) {
|
|
84
|
-
return {
|
|
85
|
-
success: false,
|
|
86
|
-
error: "Refresh token not found in httpOnly cookies"
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
success: true,
|
|
91
|
-
token: response.response.token
|
|
92
|
-
};
|
|
93
|
-
} catch (error) {
|
|
94
|
-
return {
|
|
95
|
-
success: false,
|
|
96
|
-
error: `Failed to retrieve refresh token: ${error instanceof Error ? error.message : String(error)}`
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
getCustomToken = async () => {
|
|
101
|
-
var _a;
|
|
102
|
-
try {
|
|
103
|
-
const response = await this.getTokenInCookie("customToken");
|
|
104
|
-
if (!response || !((_a = response.response) == null ? void 0 : _a.token)) {
|
|
105
|
-
return {
|
|
106
|
-
success: false,
|
|
107
|
-
error: "Custom token not found in httpOnly cookies"
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
success: true,
|
|
112
|
-
token: response.response.token
|
|
113
|
-
};
|
|
114
|
-
} catch (error) {
|
|
115
|
-
return {
|
|
116
|
-
success: false,
|
|
117
|
-
error: `Failed to retrieve custom token: ${error instanceof Error ? error.message : String(error)}`
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
getAllTokens = async () => {
|
|
122
|
-
const [idToken, sessionToken, refreshToken, customToken] = await Promise.all([
|
|
123
|
-
this.getIdToken(),
|
|
124
|
-
this.getSessionToken(),
|
|
125
|
-
this.getRefreshToken(),
|
|
126
|
-
this.getCustomToken()
|
|
127
|
-
]);
|
|
128
|
-
return {
|
|
129
|
-
idToken,
|
|
130
|
-
sessionToken,
|
|
131
|
-
refreshToken,
|
|
132
|
-
customToken
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
hasToken = async (tokenType) => {
|
|
136
|
-
switch (tokenType) {
|
|
137
|
-
case "idToken":
|
|
138
|
-
return (await this.getIdToken()).success;
|
|
139
|
-
case "sessionToken":
|
|
140
|
-
return (await this.getSessionToken()).success;
|
|
141
|
-
case "refreshToken":
|
|
142
|
-
return (await this.getRefreshToken()).success;
|
|
143
|
-
case "customToken":
|
|
144
|
-
return (await this.getCustomToken()).success;
|
|
145
|
-
default:
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
151
|
-
0 && (module.exports = {
|
|
152
|
-
Cookie
|
|
153
|
-
});
|
|
154
|
-
//# sourceMappingURL=cookie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/cookie.ts"],"sourcesContent":["import type { CookieResource } from '@tern-secure/types';\n\n//import { eventBus, events } from '../instance/events';\nimport { TernSecureBase } from './Base';\n\nexport type TokenResult = {\n success: boolean;\n token?: string;\n error?: string;\n};\n\ntype CookieTokenResponse = {\n success: boolean;\n token?: string;\n error?: string;\n};\n\nexport class Cookie extends TernSecureBase implements CookieResource {\n pathroot = 'cookies';\n\n idToken?: string;\n sessionToken?: string;\n refreshToken?: string;\n customToken?: string;\n\n constructor() {\n super();\n }\n\n private getTokenInCookie = (tokenName: string) => {\n return this.baseGet({\n path: `${this.pathroot}/get`,\n search: { tokenName },\n });\n };\n\n\n private parseTokenResponse = (\n apiResponse: any,\n tokenType: string,\n ): TokenResult => {\n if (!apiResponse) {\n return {\n success: false,\n error: `${tokenType} not found in httpOnly cookies`,\n };\n }\n\n const { success, token, error } = apiResponse as CookieTokenResponse;\n\n return {\n success,\n token,\n error,\n };\n };\n\n getIdToken = async (): Promise<TokenResult> => {\n const res = await this.getTokenInCookie('idToken');\n //eventBus.emit(events.TokenJwt, { tokenType: 'idToken', response: res });\n return this.parseTokenResponse(res, 'idToken');\n };\n\n getSessionToken = async (): Promise<TokenResult> => {\n try {\n const response = await this.getTokenInCookie('sessionToken');\n\n if (!response || !response.response?.token) {\n return {\n success: false,\n error: 'Session token not found in httpOnly cookies',\n };\n }\n\n return {\n success: true,\n token: response.response.token,\n };\n } catch (error) {\n return {\n success: false,\n error: `Failed to retrieve session token: ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n };\n\n getRefreshToken = async (): Promise<TokenResult> => {\n try {\n const response = await this.getTokenInCookie('refreshToken');\n\n if (!response || !response.response?.token) {\n return {\n success: false,\n error: 'Refresh token not found in httpOnly cookies',\n };\n }\n\n return {\n success: true,\n token: response.response.token,\n };\n } catch (error) {\n return {\n success: false,\n error: `Failed to retrieve refresh token: ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n };\n\n getCustomToken = async (): Promise<TokenResult> => {\n try {\n const response = await this.getTokenInCookie('customToken');\n\n if (!response || !response.response?.token) {\n return {\n success: false,\n error: 'Custom token not found in httpOnly cookies',\n };\n }\n\n return {\n success: true,\n token: response.response.token,\n };\n } catch (error) {\n return {\n success: false,\n error: `Failed to retrieve custom token: ${error instanceof Error ? error.message : String(error)}`,\n };\n }\n };\n\n getAllTokens = async (): Promise<Record<string, TokenResult>> => {\n const [idToken, sessionToken, refreshToken, customToken] = await Promise.all([\n this.getIdToken(),\n this.getSessionToken(),\n this.getRefreshToken(),\n this.getCustomToken(),\n ]);\n\n return {\n idToken,\n sessionToken,\n refreshToken,\n customToken,\n };\n };\n\n hasToken = async (tokenType: keyof CookieResource): Promise<boolean> => {\n switch (tokenType) {\n case 'idToken':\n return (await this.getIdToken()).success;\n case 'sessionToken':\n return (await this.getSessionToken()).success;\n case 'refreshToken':\n return (await this.getRefreshToken()).success;\n case 'customToken':\n return (await this.getCustomToken()).success;\n default:\n return false;\n }\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var resources_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(resources_exports);
|
|
18
|
-
__reExport(resources_exports, require("./SignIn"), module.exports);
|
|
19
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
-
0 && (module.exports = {
|
|
21
|
-
...require("./SignIn")
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/resources/index.ts"],"sourcesContent":["export * from './SignIn';"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,8BAAc,qBAAd;","names":[]}
|