@tern-secure/auth 1.1.0-canary.v20251020170039 → 1.1.0-canary.v20251023005301
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/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance/TernAuth.js +74 -132
- package/dist/cjs/instance/TernAuth.js.map +1 -1
- package/dist/cjs/resources/SignIn.js +83 -34
- package/dist/cjs/resources/SignIn.js.map +1 -1
- package/dist/cjs/utils/construct.js +90 -4
- package/dist/cjs/utils/construct.js.map +1 -1
- package/dist/cjs/utils/index.js +5 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/redirectUrls.js +155 -0
- package/dist/cjs/utils/redirectUrls.js.map +1 -0
- package/dist/cjs/utils/windowNavigate.js +45 -0
- package/dist/cjs/utils/windowNavigate.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/TernAuth.js +75 -132
- package/dist/esm/instance/TernAuth.js.map +1 -1
- package/dist/esm/resources/SignIn.js +83 -34
- package/dist/esm/resources/SignIn.js.map +1 -1
- package/dist/esm/utils/construct.js +83 -4
- package/dist/esm/utils/construct.js.map +1 -1
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/redirectUrls.js +131 -0
- package/dist/esm/utils/redirectUrls.js.map +1 -0
- package/dist/esm/utils/windowNavigate.js +19 -0
- package/dist/esm/utils/windowNavigate.js.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/instance/TernAuth.d.ts +9 -9
- package/dist/types/instance/TernAuth.d.ts.map +1 -1
- package/dist/types/resources/SignIn.d.ts +25 -4
- package/dist/types/resources/SignIn.d.ts.map +1 -1
- package/dist/types/utils/construct.d.ts +31 -0
- package/dist/types/utils/construct.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/redirectUrls.d.ts +23 -0
- package/dist/types/utils/redirectUrls.d.ts.map +1 -0
- package/dist/types/utils/windowNavigate.d.ts +12 -0
- package/dist/types/utils/windowNavigate.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateActiveSession, InstanceType, ListenerCallback, SessionResource, SignedInSession, SignInRedirectOptions, SignInResource, SignInResponse, SignOut, SignUpRedirectOptions, SignUpResource, TernAuthSDK, TernSecureAuth as TernSecureAuthInterface, TernSecureAuthOptions, TernSecureUser, TernSecureUserData, UnsubscribeCallback } from '@tern-secure/types';
|
|
1
|
+
import type { CreateActiveSession, InstanceType, ListenerCallback, NavigateOptions, SessionResource, SignedInSession, SignInRedirectOptions, SignInResource, SignInResponse, SignOut, SignUpRedirectOptions, SignUpResource, TernAuthSDK, TernSecureAuth as TernSecureAuthInterface, TernSecureAuthOptions, TernSecureUser, TernSecureUserData, UnsubscribeCallback } from '@tern-secure/types';
|
|
2
2
|
import type { Auth as TernAuth } from 'firebase/auth';
|
|
3
3
|
import { AuthCookieManager } from '../resources/internal';
|
|
4
4
|
import { type ApiClient } from './c_coreApiClient';
|
|
@@ -22,9 +22,9 @@ export declare class TernSecureAuth implements TernSecureAuthInterface {
|
|
|
22
22
|
error: Error | null;
|
|
23
23
|
user: TernSecureUser | null | undefined;
|
|
24
24
|
__internal_country?: string | null;
|
|
25
|
-
signIn: SignInResource;
|
|
26
|
-
signUp: SignUpResource;
|
|
27
|
-
session: SessionResource;
|
|
25
|
+
signIn: SignInResource | null | undefined;
|
|
26
|
+
signUp: SignUpResource | null | undefined;
|
|
27
|
+
session: SessionResource | null | undefined;
|
|
28
28
|
get isReady(): boolean;
|
|
29
29
|
get status(): TernSecureAuthInterface['status'];
|
|
30
30
|
get version(): string;
|
|
@@ -44,9 +44,11 @@ export declare class TernSecureAuth implements TernSecureAuthInterface {
|
|
|
44
44
|
authCookieManager(): AuthCookieManager | undefined;
|
|
45
45
|
_internal_getOption<K extends keyof TernSecureAuthOptions>(key: K): TernSecureAuthOptions[K];
|
|
46
46
|
_internal_getAllOptions(): Readonly<TernSecureAuthOptions>;
|
|
47
|
-
static
|
|
47
|
+
static getOrCreateInstance(options?: TernSecureAuthOptions): TernSecureAuth;
|
|
48
48
|
static clearInstance(): void;
|
|
49
49
|
static initialize(options: TernSecureAuthOptions): TernSecureAuth;
|
|
50
|
+
initialize: (options?: TernSecureAuthOptions) => Promise<void>;
|
|
51
|
+
static create(options: TernSecureAuthOptions): TernSecureAuth;
|
|
50
52
|
private initializeFirebaseApp;
|
|
51
53
|
/**
|
|
52
54
|
* use when cookie are not httpOnly
|
|
@@ -71,13 +73,11 @@ export declare class TernSecureAuth implements TernSecureAuthInterface {
|
|
|
71
73
|
on: TernSecureAuthInterface['on'];
|
|
72
74
|
off: TernSecureAuthInterface['off'];
|
|
73
75
|
createActiveSession: CreateActiveSession;
|
|
74
|
-
|
|
75
|
-
static create(options: TernSecureAuthOptions): TernSecureAuth;
|
|
76
|
-
_initialize: (options: TernSecureAuthOptions) => void;
|
|
76
|
+
navigate: (to: string | undefined, options?: NavigateOptions) => Promise<unknown>;
|
|
77
77
|
constructUrlWithAuthRedirect: (to: string) => string;
|
|
78
78
|
redirectToSignIn: (options?: SignInRedirectOptions) => Promise<unknown>;
|
|
79
79
|
redirectToSignUp: (options?: SignUpRedirectOptions) => Promise<unknown>;
|
|
80
|
-
redirectAfterSignIn: () => Promise<
|
|
80
|
+
redirectAfterSignIn: () => Promise<unknown>;
|
|
81
81
|
redirectAfterSignUp: () => void;
|
|
82
82
|
constructSignInUrl: (options?: SignInRedirectOptions) => string;
|
|
83
83
|
constructSignUpUrl: (options?: SignUpRedirectOptions) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TernAuth.d.ts","sourceRoot":"","sources":["../../../src/instance/TernAuth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TernAuth.d.ts","sourceRoot":"","sources":["../../../src/instance/TernAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResendEmailVerification, SignInFormValues, SignInResource, SignInResponse as SignInResponseFromTypes, SignInStatus } from '@tern-secure/types';
|
|
1
|
+
import type { ResendEmailVerification, SignInFormValues, SignInResource, SignInResponse as SignInResponseFromTypes, SignInStatus, SocialProviderOptions } from '@tern-secure/types';
|
|
2
2
|
import type { Auth, UserCredential } from 'firebase/auth';
|
|
3
3
|
import { TernSecureBase } from './Base';
|
|
4
4
|
type SignInResponse = SignInResponseFromTypes;
|
|
@@ -7,6 +7,10 @@ export type SignInParams = {
|
|
|
7
7
|
idToken: string;
|
|
8
8
|
csrfToken: string | undefined;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Supported OAuth providers
|
|
12
|
+
*/
|
|
13
|
+
export type SupportedProvider = 'google' | 'apple' | 'microsoft' | 'github' | 'twitter' | 'facebook' | string;
|
|
10
14
|
export declare class SignIn extends TernSecureBase implements SignInResource {
|
|
11
15
|
pathRoot: string;
|
|
12
16
|
status?: SignInStatus | undefined;
|
|
@@ -17,14 +21,31 @@ export declare class SignIn extends TernSecureBase implements SignInResource {
|
|
|
17
21
|
signInWithCredential: (credential: UserCredential) => Promise<import("..").ApiResponseJSON<any> | null>;
|
|
18
22
|
withEmailAndPassword: (params: SignInFormValues) => Promise<SignInResponse>;
|
|
19
23
|
withCredential: (params: SignInFormValues) => Promise<void>;
|
|
20
|
-
withSocialProvider: (provider:
|
|
21
|
-
mode?: "popup" | "redirect";
|
|
22
|
-
}) => Promise<SignInResponse | void>;
|
|
24
|
+
withSocialProvider: (provider: SupportedProvider, options?: SocialProviderOptions) => Promise<SignInResponse | void>;
|
|
23
25
|
completeMfaSignIn: (_mfaToken: string, _mfaContext?: any) => Promise<SignInResponse>;
|
|
24
26
|
sendPasswordResetEmail: (email: string) => Promise<void>;
|
|
25
27
|
resendEmailVerification: () => Promise<ResendEmailVerification>;
|
|
26
28
|
private getProviderConfig;
|
|
27
29
|
private authRedirectResult;
|
|
30
|
+
/**
|
|
31
|
+
* Sets custom OAuth parameters on the provider if provided by consumer
|
|
32
|
+
* @param provider - Firebase auth provider instance
|
|
33
|
+
* @param customParameters - Consumer-provided OAuth parameters
|
|
34
|
+
*/
|
|
35
|
+
private setProviderCustomParameters;
|
|
36
|
+
/**
|
|
37
|
+
* Adds OAuth scopes to the provider if provided by consumer
|
|
38
|
+
* Handles provider-specific scope setting logic
|
|
39
|
+
* @param provider - Firebase auth provider instance
|
|
40
|
+
* @param scopes - Array of OAuth scopes to request
|
|
41
|
+
*/
|
|
42
|
+
private setProviderScopes;
|
|
43
|
+
/**
|
|
44
|
+
* Configures OAuth provider with consumer-provided options
|
|
45
|
+
* @param provider - Firebase auth provider instance
|
|
46
|
+
* @param options - Consumer options containing custom parameters and scopes
|
|
47
|
+
*/
|
|
48
|
+
private configureProvider;
|
|
28
49
|
private executeAuthMethod;
|
|
29
50
|
private _signInWithRedirect;
|
|
30
51
|
private _signInWithPopUp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignIn.d.ts","sourceRoot":"","sources":["../../../src/resources/SignIn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,cAAc,IAAI,uBAAuB,EACzC,YAAY,
|
|
1
|
+
{"version":3,"file":"SignIn.d.ts","sourceRoot":"","sources":["../../../src/resources/SignIn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,cAAc,IAAI,uBAAuB,EACzC,YAAY,EACZ,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAW1D,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,KAAK,cAAc,GAAG,uBAAuB,CAAC;AAO9C,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AASF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,OAAO,GACP,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,GACV,MAAM,CAAC;AAGX,qBAAa,MAAO,SAAQ,cAAe,YAAW,cAAc;IAClE,QAAQ,SAA6B;IAErC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAA+B;gBAEvC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;IAMrD,oBAAoB,GAAU,YAAY,cAAc,uDAWtD;IAEF,oBAAoB,GAAU,QAAQ,gBAAgB,KAAG,OAAO,CAAC,cAAc,CAAC,CAwB9E;IAEF,cAAc,GAAU,QAAQ,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;IAEF,kBAAkB,GAChB,UAAU,iBAAiB,EAC3B,UAAS,qBAA0B,KAClC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAsB/B;IAEF,iBAAiB,GAAU,WAAW,MAAM,EAAE,cAAc,GAAG,KAAG,OAAO,CAAC,cAAc,CAAC,CAEvF;IAEF,sBAAsB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;IAEF,uBAAuB,QAAa,OAAO,CAAC,uBAAuB,CAAC,CAuBlE;IAEF,OAAO,CAAC,iBAAiB;YA+BX,kBAAkB;IAwBhC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB,CAkCvB;YAEY,mBAAmB;YAOnB,gBAAgB;IAOjB,mBAAmB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAGnE"}
|
|
@@ -63,5 +63,36 @@ export declare const getPreviousPath: () => string | null;
|
|
|
63
63
|
*/
|
|
64
64
|
export declare const getValidRedirectUrl: (searchParams: URLSearchParams, configuredRedirect?: string) => string;
|
|
65
65
|
export declare function toURL(url: string | URL): URL;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* stripOrigin(url: URL | string): string
|
|
69
|
+
*
|
|
70
|
+
* Strips the origin part of a URL and preserves path, search and hash is applicable
|
|
71
|
+
*
|
|
72
|
+
* References:
|
|
73
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/URL
|
|
74
|
+
*
|
|
75
|
+
* @param {URL | string} url
|
|
76
|
+
* @returns {string} Returns the URL href without the origin
|
|
77
|
+
*/
|
|
78
|
+
export declare function stripOrigin(url: URL | string): string;
|
|
79
|
+
/**
|
|
80
|
+
* trimTrailingSlash(path: string): string
|
|
81
|
+
*
|
|
82
|
+
* Strips the trailing slashes from a string
|
|
83
|
+
*
|
|
84
|
+
* @returns {string} Returns the string without trailing slashes
|
|
85
|
+
* @param path
|
|
86
|
+
*/
|
|
87
|
+
export declare const trimTrailingSlash: (path: string) => string;
|
|
88
|
+
export declare function isValidUrl(val: unknown): val is string;
|
|
89
|
+
export declare function relativeToAbsoluteUrl(url: string, origin: string | URL): URL;
|
|
90
|
+
/**
|
|
91
|
+
* Check for potentially problematic URLs that could have been crafted to intentionally bypass the origin check. Note that the URLs passed to this
|
|
92
|
+
* function are assumed to be from an "allowed origin", so we are not executing origin-specific checks here.
|
|
93
|
+
*/
|
|
94
|
+
export declare function isProblematicUrl(url: URL): boolean;
|
|
95
|
+
export declare function hasBannedProtocol(val: string | URL): boolean;
|
|
96
|
+
export declare const isAllowedRedirect: (allowedRedirectOrigins: Array<string | RegExp> | undefined, currentOrigin: string) => (_url: URL | string) => boolean;
|
|
66
97
|
export {};
|
|
67
98
|
//# sourceMappingURL=construct.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct.d.ts","sourceRoot":"","sources":["../../../src/utils/construct.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"construct.d.ts","sourceRoot":"","sources":["../../../src/utils/construct.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,UAAU,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EACb,eAAe,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,UAAU,eAAe,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EACxC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC;AAsEjC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAO5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,EAAE,cAAc,MAAM,KAAG,OAQ3E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,6BAA6B,KAAG,MAsBxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,IAIhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,MAAM,GAAG,IAK3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,cAAc,eAAe,EAC7B,qBAAqB,MAAM,KAC1B,MAcF,CAAC;AAsBF,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAE5C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAEhD,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAWtD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAM5E;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAYlD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,WAMlD;AAED,eAAO,MAAM,iBAAiB,GAC3B,wBAAwB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,EAAE,eAAe,MAAM,MACjF,MAAM,GAAG,GAAG,MAAM,YA2BlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RedirectOptions, TernSecureAuthOptions } from '@tern-secure/types';
|
|
2
|
+
/**
|
|
3
|
+
* RedirectUrls class handles all redirect URL construction logic
|
|
4
|
+
* for sign-in, sign-up, and post-authentication flows.
|
|
5
|
+
*
|
|
6
|
+
* This class centralizes the redirect logic previously scattered across
|
|
7
|
+
* multiple methods, making it reusable and maintainable.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RedirectUrls {
|
|
10
|
+
#private;
|
|
11
|
+
private static keys;
|
|
12
|
+
private static preserved;
|
|
13
|
+
private readonly options;
|
|
14
|
+
private readonly fromOptions;
|
|
15
|
+
private readonly fromProps;
|
|
16
|
+
private readonly fromSearchParams;
|
|
17
|
+
constructor(options: TernSecureAuthOptions, props?: RedirectOptions, searchParams?: any);
|
|
18
|
+
getAfterSignInUrl(): string;
|
|
19
|
+
getAfterSignUpUrl(): string;
|
|
20
|
+
getPreservedSearchParams(): URLSearchParams;
|
|
21
|
+
toSearchParams(): URLSearchParams;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=redirectUrls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectUrls.d.ts","sourceRoot":"","sources":["../../../src/utils/redirectUrls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAIjF;;;;;;GAMG;AACH,qBAAa,YAAY;;IACvB,OAAO,CAAC,MAAM,CAAC,IAAI,CAQjB;IAEF,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoD;gBAEzE,OAAO,EAAE,qBAAqB,EAAE,KAAK,GAAE,eAAoB,EAAE,YAAY,GAAE,GAAQ;IAO/F,iBAAiB;IAIjB,iBAAiB;IAIjB,wBAAwB;IAIxB,cAAc;CA6If"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const BEFORE_UNLOAD_EVENT = "ternsecure:beforeunload";
|
|
2
|
+
/**
|
|
3
|
+
* Additional protocols can be provided using the `allowedRedirectProtocols` option.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ALLOWED_PROTOCOLS: string[];
|
|
6
|
+
/**
|
|
7
|
+
* Helper utility to navigate via window.location.href. Also dispatches a ternsecure:beforeunload custom event.
|
|
8
|
+
*
|
|
9
|
+
* Note that this utility should **never** be called with a user-provided URL. We make no specific checks against the contents of the URL here and assume it is safe.
|
|
10
|
+
*/
|
|
11
|
+
export declare function windowNavigate(to: URL | string): void;
|
|
12
|
+
//# sourceMappingURL=windowNavigate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windowNavigate.d.ts","sourceRoot":"","sources":["../../../src/utils/windowNavigate.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAM7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAIrD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/auth",
|
|
3
|
-
"version": "1.1.0-canary.
|
|
3
|
+
"version": "1.1.0-canary.v20251023005301",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/TernSecure/auth.git",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"server-only": "^0.0.1",
|
|
27
27
|
"tslib": "2.4.1",
|
|
28
|
-
"@tern-secure/
|
|
29
|
-
"@tern-secure/
|
|
28
|
+
"@tern-secure/shared": "1.3.0-canary.v20251023005301",
|
|
29
|
+
"@tern-secure/types": "1.1.0-canary.v20251023005301"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"firebase": "^12.0.0",
|