@frontegg/ionic-capacitor 2.0.9 → 2.0.10-alpha.10967561420
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/frontegg/ionic/FronteggNativePlugin.java +3 -0
- package/dist/esm/frontegg.service.d.ts +6 -0
- package/dist/esm/frontegg.service.js +44 -9
- package/dist/esm/frontegg.service.js.map +1 -1
- package/dist/plugin.cjs.js +44 -9
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +44 -9
- package/dist/plugin.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# @frontegg/ionic-capacitor
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
features for the product-led era.
|
|
3
|
+
The @frontegg/ionic-capacitor SDK integrates Frontegg's authentication and user management capabilities into Ionic Capacitor apps. It simplifies adding features like login, signup, and user profile management, enhancing security and user experience for mobile applications. Follow the integration steps below to use the SDK:
|
|
5
4
|
|
|
6
5
|
## Table of Contents
|
|
7
6
|
|
|
@@ -901,4 +900,4 @@ const config: CapacitorConfig = {
|
|
|
901
900
|
};
|
|
902
901
|
|
|
903
902
|
export default config;
|
|
904
|
-
```
|
|
903
|
+
```
|
package/android/build.gradle
CHANGED
|
@@ -55,7 +55,7 @@ dependencies {
|
|
|
55
55
|
implementation "androidx.browser:browser:1.5.0"
|
|
56
56
|
implementation 'io.reactivex.rxjava3:rxkotlin:3.0.1'
|
|
57
57
|
implementation 'com.google.code.gson:gson:2.10'
|
|
58
|
-
implementation 'com.frontegg.sdk:android:1.2.24'
|
|
58
|
+
implementation 'com.frontegg.sdk:android:1.2.24-alpha.1726841809158'
|
|
59
59
|
|
|
60
60
|
testImplementation "junit:junit:$junitVersion"
|
|
61
61
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
@@ -3,6 +3,7 @@ package com.frontegg.ionic;
|
|
|
3
3
|
|
|
4
4
|
import android.os.Handler;
|
|
5
5
|
import android.os.Looper;
|
|
6
|
+
import android.util.Log;
|
|
6
7
|
|
|
7
8
|
import com.frontegg.android.FronteggApp;
|
|
8
9
|
import com.frontegg.android.FronteggAuth;
|
|
@@ -35,9 +36,11 @@ public class FronteggNativePlugin extends Plugin {
|
|
|
35
36
|
private Disposable disposable = null;
|
|
36
37
|
private final Debouncer debouncer = new Debouncer(50); // 200ms delay
|
|
37
38
|
|
|
39
|
+
|
|
38
40
|
@Override
|
|
39
41
|
public void load() {
|
|
40
42
|
|
|
43
|
+
Log.d("FronteggNative", "Loading FronteggNativePlugin");
|
|
41
44
|
// for regions initialization
|
|
42
45
|
List<RegionConfig> regions = new ArrayList<>();
|
|
43
46
|
boolean useAssetLinks = this.getConfig().getBoolean("useAssetLinks", true);
|
|
@@ -13,11 +13,17 @@ export declare class FronteggService {
|
|
|
13
13
|
get $isAuthenticated(): FronteggObservable<'isAuthenticated'>;
|
|
14
14
|
get $user(): FronteggObservable<'user'>;
|
|
15
15
|
get $accessToken(): FronteggObservable<'accessToken'>;
|
|
16
|
+
get $refreshingToken(): FronteggObservable<'refreshingToken'>;
|
|
16
17
|
get $selectedRegion(): FronteggObservable<'selectedRegion'>;
|
|
17
18
|
/**
|
|
18
19
|
* Call frontegg native login method
|
|
19
20
|
*/
|
|
20
21
|
login(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Wait for loader to finish
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
waitForLoader(): Promise<boolean>;
|
|
21
27
|
/**
|
|
22
28
|
* Used to log in with social login provider directly without visiting the login page
|
|
23
29
|
* @param type - the direct login type (direct, social-login, custom-social-login)
|
|
@@ -41,7 +41,7 @@ export class FronteggService {
|
|
|
41
41
|
initializing: new Set(),
|
|
42
42
|
};
|
|
43
43
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
44
|
-
this.logger.info('onFronteggAuthEvent', {
|
|
44
|
+
this.logger.info('onFronteggAuthEvent', JSON.stringify({
|
|
45
45
|
isAuthenticated: state.isAuthenticated,
|
|
46
46
|
showLoader: state.isLoading,
|
|
47
47
|
user: `${state.user}`,
|
|
@@ -50,7 +50,7 @@ export class FronteggService {
|
|
|
50
50
|
selectedRegion: state.selectedRegion,
|
|
51
51
|
refreshingToken: state.refreshingToken,
|
|
52
52
|
initializing: state.initializing,
|
|
53
|
-
});
|
|
53
|
+
}));
|
|
54
54
|
const keys = this.orderedListenerKeys;
|
|
55
55
|
keys.forEach(key => {
|
|
56
56
|
if (this.isChanged(this.state[key], state[key])) {
|
|
@@ -62,15 +62,15 @@ export class FronteggService {
|
|
|
62
62
|
this.state = state;
|
|
63
63
|
});
|
|
64
64
|
FronteggNative.getAuthState().then((state) => {
|
|
65
|
-
this.logger.info(
|
|
65
|
+
this.logger.info(`getAuthState(): \n ${JSON.stringify(state)} DONE`);
|
|
66
66
|
const keys = Object.keys(this.mapListeners);
|
|
67
|
-
for (const item of keys) {
|
|
67
|
+
for (const item of keys.filter(key => key !== 'initializing')) {
|
|
68
68
|
const key = item;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
72
|
-
}
|
|
69
|
+
this.state[key] = state[key];
|
|
70
|
+
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
73
71
|
}
|
|
72
|
+
this.state.initializing = false;
|
|
73
|
+
this.mapListeners.initializing.forEach((listener) => listener(false));
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
isChanged(obj1, obj2) {
|
|
@@ -136,6 +136,9 @@ export class FronteggService {
|
|
|
136
136
|
get $accessToken() {
|
|
137
137
|
return createObservable(this.mapListeners, this.state, 'accessToken');
|
|
138
138
|
}
|
|
139
|
+
get $refreshingToken() {
|
|
140
|
+
return createObservable(this.mapListeners, this.state, 'refreshingToken');
|
|
141
|
+
}
|
|
139
142
|
get $selectedRegion() {
|
|
140
143
|
return createObservable(this.mapListeners, this.state, 'selectedRegion');
|
|
141
144
|
}
|
|
@@ -145,13 +148,45 @@ export class FronteggService {
|
|
|
145
148
|
login() {
|
|
146
149
|
return FronteggNative.login();
|
|
147
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Wait for loader to finish
|
|
153
|
+
* @private
|
|
154
|
+
*/
|
|
155
|
+
async waitForLoader() {
|
|
156
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
157
|
+
return new Promise(async (resolve) => {
|
|
158
|
+
console.log('checking is loading');
|
|
159
|
+
const { isLoading, initializing } = this.getState();
|
|
160
|
+
console.log('checking is loading', JSON.stringify({ isLoading, initializing }));
|
|
161
|
+
if (!isLoading && !initializing) {
|
|
162
|
+
resolve(true);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
console.log('isLoading is true, waiting for it to be false');
|
|
166
|
+
const unsubscribe = this.$isLoading.subscribe(isLoading => {
|
|
167
|
+
console.log('isLoading', isLoading);
|
|
168
|
+
if (!isLoading) {
|
|
169
|
+
resolve(true);
|
|
170
|
+
unsubscribe();
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
148
175
|
/**
|
|
149
176
|
* Used to log in with social login provider directly without visiting the login page
|
|
150
177
|
* @param type - the direct login type (direct, social-login, custom-social-login)
|
|
151
178
|
* @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)
|
|
152
179
|
* @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser
|
|
153
180
|
*/
|
|
154
|
-
directLoginAction(type, data, ephemeralSession = true) {
|
|
181
|
+
async directLoginAction(type, data, ephemeralSession = true) {
|
|
182
|
+
const state = await this.getNativeState();
|
|
183
|
+
console.log('direct login action', state);
|
|
184
|
+
await this.waitForLoader();
|
|
185
|
+
if (state.isAuthenticated) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
this.state.isLoading = true;
|
|
189
|
+
this.mapListeners.isLoading.forEach((listener) => listener(true));
|
|
155
190
|
return FronteggNative.directLoginAction({ type, data, ephemeralSession });
|
|
156
191
|
}
|
|
157
192
|
logout() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontegg.service.js","sourceRoot":"","sources":["../../src/frontegg.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type {\n FronteggConstants,\n FronteggNativePlugin,\n FronteggServiceOptions,\n FronteggState,\n SubscribeMap,\n} from './definitions';\nimport { Logger } from './logger';\nimport type { FronteggObservable } from './observables';\nimport { createObservable } from './observables';\n\nconst FronteggNative = registerPlugin<FronteggNativePlugin>('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\n\nexport class FronteggService {\n private state: FronteggState;\n private logger: Logger;\n private mapListeners: SubscribeMap<FronteggState>;\n private readonly orderedListenerKeys: (keyof FronteggState)[] = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n\n constructor(options?: FronteggServiceOptions) {\n this.logger = new Logger(options?.logLevel);\n\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n\n FronteggNative.addListener(\n 'onFronteggAuthEvent',\n (state: FronteggState) => {\n this.logger.info('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`, // prevent log full user object // null | undefined | [object Object]\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n });\n\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n (this.state as any)[key] = state[key];\n this.mapListeners[key].forEach((listener: any) =>\n listener(state[key]),\n );\n }\n });\n this.state = state;\n },\n );\n\n FronteggNative.getAuthState().then((state: FronteggState) => {\n this.logger.info('getAuthState()', state);\n\n const keys = Object.keys(this.mapListeners);\n for (const item of keys) {\n const key = item as keyof FronteggState;\n if (this.isChanged(this.state[key], state[key])) {\n (this.state as any)[key] = state[key];\n this.mapListeners[key].forEach((listener: any) =>\n listener(state[key]),\n );\n }\n }\n });\n }\n\n private isChanged(obj1: any, obj2: any): boolean {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n\n // Check for null and undefined\n if (\n obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined\n ) {\n return obj1 !== obj2;\n }\n\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return true;\n }\n\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n\n // If none of the above conditions match, the values have changed\n return true;\n }\n\n public getState(): FronteggState {\n return this.state;\n }\n\n public getNativeState(): Promise<FronteggState> {\n return FronteggNative.getAuthState();\n }\n\n public get $isLoading(): FronteggObservable<'isLoading'> {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n\n public get $isAuthenticated(): FronteggObservable<'isAuthenticated'> {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n\n public get $user(): FronteggObservable<'user'> {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n\n public get $accessToken(): FronteggObservable<'accessToken'> {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n\n public get $selectedRegion(): FronteggObservable<'selectedRegion'> {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n\n /**\n * Call frontegg native login method\n */\n public login(): Promise<void> {\n return FronteggNative.login();\n }\n\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n public directLoginAction(\n type: string,\n data: string,\n ephemeralSession = true,\n ): Promise<boolean> {\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n\n public logout(): void {\n FronteggNative.logout();\n }\n\n public getConstants(): Promise<FronteggConstants> {\n return FronteggNative.getConstants();\n }\n\n public switchTenant(tenantId: string): Promise<void> {\n return FronteggNative.switchTenant({ tenantId });\n }\n\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n public initWithRegion(regionKey: string): Promise<void> {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n\n public refreshToken(): Promise<void> {\n return FronteggNative.refreshToken();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"frontegg.service.js","sourceRoot":"","sources":["../../src/frontegg.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type {\n FronteggConstants,\n FronteggNativePlugin,\n FronteggServiceOptions,\n FronteggState,\n SubscribeMap,\n} from './definitions';\nimport { Logger } from './logger';\nimport type { FronteggObservable } from './observables';\nimport { createObservable } from './observables';\n\nconst FronteggNative = registerPlugin<FronteggNativePlugin>('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\n\nexport class FronteggService {\n private state: FronteggState;\n private logger: Logger;\n private mapListeners: SubscribeMap<FronteggState>;\n private readonly orderedListenerKeys: (keyof FronteggState)[] = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n\n constructor(options?: FronteggServiceOptions) {\n this.logger = new Logger(options?.logLevel);\n\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n\n FronteggNative.addListener(\n 'onFronteggAuthEvent',\n (state: FronteggState) => {\n this.logger.info(\n 'onFronteggAuthEvent',\n JSON.stringify({\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`, // prevent log full user object // null | undefined | [object Object]\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n }),\n );\n\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n (this.state as any)[key] = state[key];\n this.mapListeners[key].forEach((listener: any) =>\n listener(state[key]),\n );\n }\n });\n this.state = state;\n },\n );\n\n FronteggNative.getAuthState().then((state: FronteggState) => {\n this.logger.info(`getAuthState(): \\n ${JSON.stringify(state)} DONE`);\n\n const keys = Object.keys(this.mapListeners);\n for (const item of keys.filter(key => key !== 'initializing')) {\n const key = item as keyof FronteggState;\n\n (this.state as any)[key] = state[key];\n this.mapListeners[key].forEach((listener: any) => listener(state[key]));\n }\n\n this.state.initializing = false;\n this.mapListeners.initializing.forEach((listener: any) =>\n listener(false),\n );\n });\n }\n\n private isChanged(obj1: any, obj2: any): boolean {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n\n // Check for null and undefined\n if (\n obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined\n ) {\n return obj1 !== obj2;\n }\n\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return true;\n }\n\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n\n // If none of the above conditions match, the values have changed\n return true;\n }\n\n public getState(): FronteggState {\n return this.state;\n }\n\n public getNativeState(): Promise<FronteggState> {\n return FronteggNative.getAuthState();\n }\n\n public get $isLoading(): FronteggObservable<'isLoading'> {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n\n public get $isAuthenticated(): FronteggObservable<'isAuthenticated'> {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n\n public get $user(): FronteggObservable<'user'> {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n\n public get $accessToken(): FronteggObservable<'accessToken'> {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n\n public get $refreshingToken(): FronteggObservable<'refreshingToken'> {\n return createObservable(this.mapListeners, this.state, 'refreshingToken');\n }\n\n public get $selectedRegion(): FronteggObservable<'selectedRegion'> {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n\n /**\n * Call frontegg native login method\n */\n public login(): Promise<void> {\n return FronteggNative.login();\n }\n\n /**\n * Wait for loader to finish\n * @private\n */\n public async waitForLoader(): Promise<boolean> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise<boolean>(async resolve => {\n console.log('checking is loading');\n const { isLoading, initializing } = this.getState();\n\n console.log(\n 'checking is loading',\n JSON.stringify({ isLoading, initializing }),\n );\n if (!isLoading && !initializing) {\n resolve(true);\n return;\n }\n console.log('isLoading is true, waiting for it to be false');\n const unsubscribe = this.$isLoading.subscribe(isLoading => {\n console.log('isLoading', isLoading);\n if (!isLoading) {\n resolve(true);\n unsubscribe();\n }\n });\n });\n }\n\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n public async directLoginAction(\n type: string,\n data: string,\n ephemeralSession = true,\n ): Promise<boolean> {\n const state = await this.getNativeState();\n console.log('direct login action', state);\n await this.waitForLoader();\n if (state.isAuthenticated) {\n return true;\n }\n\n this.state.isLoading = true;\n this.mapListeners.isLoading.forEach((listener: any) => listener(true));\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n\n public logout(): void {\n FronteggNative.logout();\n }\n\n public getConstants(): Promise<FronteggConstants> {\n return FronteggNative.getConstants();\n }\n\n public switchTenant(tenantId: string): Promise<void> {\n return FronteggNative.switchTenant({ tenantId });\n }\n\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n public initWithRegion(regionKey: string): Promise<void> {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n\n public refreshToken(): Promise<void> {\n return FronteggNative.refreshToken();\n }\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -96,7 +96,7 @@ class FronteggService {
|
|
|
96
96
|
initializing: new Set(),
|
|
97
97
|
};
|
|
98
98
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
99
|
-
this.logger.info('onFronteggAuthEvent', {
|
|
99
|
+
this.logger.info('onFronteggAuthEvent', JSON.stringify({
|
|
100
100
|
isAuthenticated: state.isAuthenticated,
|
|
101
101
|
showLoader: state.isLoading,
|
|
102
102
|
user: `${state.user}`,
|
|
@@ -105,7 +105,7 @@ class FronteggService {
|
|
|
105
105
|
selectedRegion: state.selectedRegion,
|
|
106
106
|
refreshingToken: state.refreshingToken,
|
|
107
107
|
initializing: state.initializing,
|
|
108
|
-
});
|
|
108
|
+
}));
|
|
109
109
|
const keys = this.orderedListenerKeys;
|
|
110
110
|
keys.forEach(key => {
|
|
111
111
|
if (this.isChanged(this.state[key], state[key])) {
|
|
@@ -117,15 +117,15 @@ class FronteggService {
|
|
|
117
117
|
this.state = state;
|
|
118
118
|
});
|
|
119
119
|
FronteggNative.getAuthState().then((state) => {
|
|
120
|
-
this.logger.info(
|
|
120
|
+
this.logger.info(`getAuthState(): \n ${JSON.stringify(state)} DONE`);
|
|
121
121
|
const keys = Object.keys(this.mapListeners);
|
|
122
|
-
for (const item of keys) {
|
|
122
|
+
for (const item of keys.filter(key => key !== 'initializing')) {
|
|
123
123
|
const key = item;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
127
|
-
}
|
|
124
|
+
this.state[key] = state[key];
|
|
125
|
+
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
128
126
|
}
|
|
127
|
+
this.state.initializing = false;
|
|
128
|
+
this.mapListeners.initializing.forEach((listener) => listener(false));
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
isChanged(obj1, obj2) {
|
|
@@ -191,6 +191,9 @@ class FronteggService {
|
|
|
191
191
|
get $accessToken() {
|
|
192
192
|
return createObservable(this.mapListeners, this.state, 'accessToken');
|
|
193
193
|
}
|
|
194
|
+
get $refreshingToken() {
|
|
195
|
+
return createObservable(this.mapListeners, this.state, 'refreshingToken');
|
|
196
|
+
}
|
|
194
197
|
get $selectedRegion() {
|
|
195
198
|
return createObservable(this.mapListeners, this.state, 'selectedRegion');
|
|
196
199
|
}
|
|
@@ -200,13 +203,45 @@ class FronteggService {
|
|
|
200
203
|
login() {
|
|
201
204
|
return FronteggNative.login();
|
|
202
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Wait for loader to finish
|
|
208
|
+
* @private
|
|
209
|
+
*/
|
|
210
|
+
async waitForLoader() {
|
|
211
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
212
|
+
return new Promise(async (resolve) => {
|
|
213
|
+
console.log('checking is loading');
|
|
214
|
+
const { isLoading, initializing } = this.getState();
|
|
215
|
+
console.log('checking is loading', JSON.stringify({ isLoading, initializing }));
|
|
216
|
+
if (!isLoading && !initializing) {
|
|
217
|
+
resolve(true);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
console.log('isLoading is true, waiting for it to be false');
|
|
221
|
+
const unsubscribe = this.$isLoading.subscribe(isLoading => {
|
|
222
|
+
console.log('isLoading', isLoading);
|
|
223
|
+
if (!isLoading) {
|
|
224
|
+
resolve(true);
|
|
225
|
+
unsubscribe();
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
}
|
|
203
230
|
/**
|
|
204
231
|
* Used to log in with social login provider directly without visiting the login page
|
|
205
232
|
* @param type - the direct login type (direct, social-login, custom-social-login)
|
|
206
233
|
* @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)
|
|
207
234
|
* @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser
|
|
208
235
|
*/
|
|
209
|
-
directLoginAction(type, data, ephemeralSession = true) {
|
|
236
|
+
async directLoginAction(type, data, ephemeralSession = true) {
|
|
237
|
+
const state = await this.getNativeState();
|
|
238
|
+
console.log('direct login action', state);
|
|
239
|
+
await this.waitForLoader();
|
|
240
|
+
if (state.isAuthenticated) {
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
this.state.isLoading = true;
|
|
244
|
+
this.mapListeners.isLoading.forEach((listener) => listener(true));
|
|
210
245
|
return FronteggNative.directLoginAction({ type, data, ephemeralSession });
|
|
211
246
|
}
|
|
212
247
|
logout() {
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/logger.js","esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["/**\n * Enum representing different log levels.\n */\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"INFO\"] = \"info\";\n LogLevel[\"WARN\"] = \"warn\";\n LogLevel[\"ERROR\"] = \"error\";\n LogLevel[\"NONE\"] = \"none\";\n})(LogLevel || (LogLevel = {}));\n/**\n * Logger class to handle logging with a configurable log level.\n */\nexport class Logger {\n constructor(logLevel = LogLevel.WARN) {\n this.logLevel = logLevel;\n }\n info(message, ...args) {\n if (this.shouldLog(LogLevel.INFO)) {\n console.info(message, ...args);\n }\n }\n warn(message, ...args) {\n if (this.shouldLog(LogLevel.WARN)) {\n console.info(message, ...args);\n }\n }\n error(message, ...args) {\n if (this.shouldLog(LogLevel.ERROR)) {\n console.info(message, ...args);\n }\n }\n shouldLog(level) {\n const levels = [LogLevel.INFO, LogLevel.WARN, LogLevel.ERROR];\n return levels.indexOf(level) >= levels.indexOf(this.logLevel);\n }\n}\n//# sourceMappingURL=logger.js.map","// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n },\n };\n};\n//# sourceMappingURL=observables.js.map","import { registerPlugin } from '@capacitor/core';\nimport { Logger } from './logger';\nimport { createObservable } from './observables';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor(options) {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n this.logger = new Logger(options === null || options === void 0 ? void 0 : options.logLevel);\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n this.logger.info('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`,\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n });\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n this.logger.info('getAuthState()', state);\n const keys = Object.keys(this.mapListeners);\n for (const item of keys) {\n const key = item;\n if (this.isChanged(this.state[key], state[key])) {\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n }\n });\n }\n isChanged(obj1, obj2) {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n // Check for null and undefined\n if (obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined) {\n return obj1 !== obj2;\n }\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return true;\n }\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n // If none of the above conditions match, the values have changed\n return true;\n }\n getState() {\n return this.state;\n }\n getNativeState() {\n return FronteggNative.getAuthState();\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n get $selectedRegion() {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n return FronteggNative.login();\n }\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n directLoginAction(type, data, ephemeralSession = true) {\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n logout() {\n FronteggNative.logout();\n }\n getConstants() {\n return FronteggNative.getConstants();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n initWithRegion(regionKey) {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n refreshToken() {\n return FronteggNative.refreshToken();\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async directLoginAction(payload) {\n throw Error(`FronteggNative.directLoginAction ${payload} not implemented in web`);\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web`);\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n async initWithRegion(payload) {\n throw Error(`FronteggNative.initWithRegion ${payload} not implemented in web`);\n }\n async refreshToken() {\n throw Error(`FronteggNative.refreshToken not implemented in web`);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["LogLevel","registerPlugin","WebPlugin"],"mappings":";;;;;;AAAA;AACA;AACA;AACWA,0BAAS;AACpB,CAAC,UAAU,QAAQ,EAAE;AACrB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC9B,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAChC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC9B,CAAC,EAAEA,gBAAQ,KAAKA,gBAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;AAChC;AACA;AACA;AACO,MAAM,MAAM,CAAC;AACpB,IAAI,WAAW,CAAC,QAAQ,GAAGA,gBAAQ,CAAC,IAAI,EAAE;AAC1C,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,SAAS,CAACA,gBAAQ,CAAC,IAAI,CAAC,EAAE;AAC3C,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,SAAS,CAACA,gBAAQ,CAAC,IAAI,CAAC,EAAE;AAC3C,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK;AACL,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,SAAS,CAACA,gBAAQ,CAAC,KAAK,CAAC,EAAE;AAC5C,YAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK;AACL,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,MAAM,MAAM,GAAG,CAACA,gBAAQ,CAAC,IAAI,EAAEA,gBAAQ,CAAC,IAAI,EAAEA,gBAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtE,KAAK;AACL;;ACpCA;AACO,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK;AACrD,IAAI,OAAO;AACX,QAAQ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;AACzB,QAAQ,SAAS,CAAC,QAAQ,EAAE;AAC5B,YAAY,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACpC,YAAY,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,YAAY,OAAO,MAAM;AACzB,gBAAgB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,aAAa,CAAC;AACd,SAAS;AACT,KAAK,CAAC;AACN,CAAC;;ACTD,MAAM,cAAc,GAAGC,mBAAc,CAAC,gBAAgB,EAAE;AACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC;AACI,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,mBAAmB,GAAG;AACnC,YAAY,cAAc;AAC1B,YAAY,aAAa;AACzB,YAAY,MAAM;AAClB,YAAY,iBAAiB;AAC7B,YAAY,gBAAgB;AAC5B,YAAY,YAAY;AACxB,YAAY,iBAAiB;AAC7B,YAAY,cAAc;AAC1B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrG,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACpD,QAAQ,IAAI,CAAC,KAAK,GAAG;AACrB,YAAY,eAAe,EAAE,KAAK;AAClC,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,YAAY,EAAE,IAAI;AAC9B,YAAY,cAAc,EAAE,IAAI;AAChC,YAAY,eAAe,EAAE,KAAK;AAClC,YAAY,YAAY,EAAE,IAAI;AAC9B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,YAAY,GAAG;AAC5B,YAAY,eAAe,EAAE,IAAI,GAAG,EAAE;AACtC,YAAY,UAAU,EAAE,IAAI,GAAG,EAAE;AACjC,YAAY,SAAS,EAAE,IAAI,GAAG,EAAE;AAChC,YAAY,IAAI,EAAE,IAAI,GAAG,EAAE;AAC3B,YAAY,WAAW,EAAE,IAAI,GAAG,EAAE;AAClC,YAAY,YAAY,EAAE,IAAI,GAAG,EAAE;AACnC,YAAY,cAAc,EAAE,IAAI,GAAG,EAAE;AACrC,YAAY,eAAe,EAAE,IAAI,GAAG,EAAE;AACtC,YAAY,YAAY,EAAE,IAAI,GAAG,EAAE;AACnC,SAAS,CAAC;AACV,QAAQ,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,KAAK,KAAK;AACrE,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACpD,gBAAgB,eAAe,EAAE,KAAK,CAAC,eAAe;AACtD,gBAAgB,UAAU,EAAE,KAAK,CAAC,SAAS;AAC3C,gBAAgB,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACrC,gBAAgB,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI;AAC9D,gBAAgB,YAAY,EAAE,KAAK,CAAC,YAAY;AAChD,gBAAgB,cAAc,EAAE,KAAK,CAAC,cAAc;AACpD,gBAAgB,eAAe,EAAE,KAAK,CAAC,eAAe;AACtD,gBAAgB,YAAY,EAAE,KAAK,CAAC,YAAY;AAChD,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAClD,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI;AAChC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;AACjE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,oBAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,oBAAoB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvF,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AACtD,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACtD,YAAY,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxD,YAAY,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACrC,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC;AACjC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;AACjE,oBAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,oBAAoB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvF,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE;AAC1B;AACA,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC3B,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,IAAI,IAAI,KAAK,IAAI;AACzB,YAAY,IAAI,KAAK,SAAS;AAC9B,YAAY,IAAI,KAAK,IAAI;AACzB,YAAY,IAAI,KAAK,SAAS,EAAE;AAChC,YAAY,OAAO,IAAI,KAAK,IAAI,CAAC;AACjC,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClE,YAAY,OAAO,IAAI,KAAK,IAAI,CAAC;AACjC,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACxD,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;AAC7C,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AACtD,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClE,YAAY,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAC/C,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrC,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AAClF,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAK;AACL,IAAI,cAAc,GAAG;AACrB,QAAQ,OAAO,cAAc,CAAC,YAAY,EAAE,CAAC;AAC7C,KAAK;AACL,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,IAAI,gBAAgB,GAAG;AAC3B,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC9E,KAAK;AACL,IAAI,IAAI,eAAe,GAAG;AAC1B,QAAQ,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AACjF,KAAK;AACL;AACA;AACA;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC;AACtC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE;AAC3D,QAAQ,OAAO,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,MAAM,GAAG;AACb,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;AAChC,KAAK;AACL,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,cAAc,CAAC,YAAY,EAAE,CAAC;AAC7C,KAAK;AACL,IAAI,YAAY,CAAC,QAAQ,EAAE;AAC3B,QAAQ,OAAO,cAAc,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,CAAC,SAAS,EAAE;AAC9B;AACA,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,KAAK,SAAS,EAAE;AAC1D,YAAY,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AACrC,SAAS;AACT,QAAQ,OAAO,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,cAAc,CAAC,YAAY,EAAE,CAAC;AAC7C,KAAK;AACL;;ACpLO,MAAM,iBAAiB,SAASC,cAAS,CAAC;AACjD,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACnE,KAAK;AACL,IAAI,MAAM,iBAAiB,CAAC,OAAO,EAAE;AACrC,QAAQ,MAAM,KAAK,CAAC,CAAC,iCAAiC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC1F,KAAK;AACL,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACpE,KAAK;AACL,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC,QAAQ,MAAM,KAAK,CAAC,CAAC,4BAA4B,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACrF,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE;AAClC,QAAQ,MAAM,KAAK,CAAC,CAAC,8BAA8B,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvF,KAAK;AACL,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,KAAK,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC;AAC1E,KAAK;AACL;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/logger.js","esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["/**\n * Enum representing different log levels.\n */\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"INFO\"] = \"info\";\n LogLevel[\"WARN\"] = \"warn\";\n LogLevel[\"ERROR\"] = \"error\";\n LogLevel[\"NONE\"] = \"none\";\n})(LogLevel || (LogLevel = {}));\n/**\n * Logger class to handle logging with a configurable log level.\n */\nexport class Logger {\n constructor(logLevel = LogLevel.WARN) {\n this.logLevel = logLevel;\n }\n info(message, ...args) {\n if (this.shouldLog(LogLevel.INFO)) {\n console.info(message, ...args);\n }\n }\n warn(message, ...args) {\n if (this.shouldLog(LogLevel.WARN)) {\n console.info(message, ...args);\n }\n }\n error(message, ...args) {\n if (this.shouldLog(LogLevel.ERROR)) {\n console.info(message, ...args);\n }\n }\n shouldLog(level) {\n const levels = [LogLevel.INFO, LogLevel.WARN, LogLevel.ERROR];\n return levels.indexOf(level) >= levels.indexOf(this.logLevel);\n }\n}\n//# sourceMappingURL=logger.js.map","// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n },\n };\n};\n//# sourceMappingURL=observables.js.map","import { registerPlugin } from '@capacitor/core';\nimport { Logger } from './logger';\nimport { createObservable } from './observables';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor(options) {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n this.logger = new Logger(options === null || options === void 0 ? void 0 : options.logLevel);\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n this.logger.info('onFronteggAuthEvent', JSON.stringify({\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`,\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n }));\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n this.logger.info(`getAuthState(): \\n ${JSON.stringify(state)} DONE`);\n const keys = Object.keys(this.mapListeners);\n for (const item of keys.filter(key => key !== 'initializing')) {\n const key = item;\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n this.state.initializing = false;\n this.mapListeners.initializing.forEach((listener) => listener(false));\n });\n }\n isChanged(obj1, obj2) {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n // Check for null and undefined\n if (obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined) {\n return obj1 !== obj2;\n }\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return true;\n }\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n // If none of the above conditions match, the values have changed\n return true;\n }\n getState() {\n return this.state;\n }\n getNativeState() {\n return FronteggNative.getAuthState();\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n get $refreshingToken() {\n return createObservable(this.mapListeners, this.state, 'refreshingToken');\n }\n get $selectedRegion() {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n return FronteggNative.login();\n }\n /**\n * Wait for loader to finish\n * @private\n */\n async waitForLoader() {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n console.log('checking is loading');\n const { isLoading, initializing } = this.getState();\n console.log('checking is loading', JSON.stringify({ isLoading, initializing }));\n if (!isLoading && !initializing) {\n resolve(true);\n return;\n }\n console.log('isLoading is true, waiting for it to be false');\n const unsubscribe = this.$isLoading.subscribe(isLoading => {\n console.log('isLoading', isLoading);\n if (!isLoading) {\n resolve(true);\n unsubscribe();\n }\n });\n });\n }\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n async directLoginAction(type, data, ephemeralSession = true) {\n const state = await this.getNativeState();\n console.log('direct login action', state);\n await this.waitForLoader();\n if (state.isAuthenticated) {\n return true;\n }\n this.state.isLoading = true;\n this.mapListeners.isLoading.forEach((listener) => listener(true));\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n logout() {\n FronteggNative.logout();\n }\n getConstants() {\n return FronteggNative.getConstants();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n initWithRegion(regionKey) {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n refreshToken() {\n return FronteggNative.refreshToken();\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async directLoginAction(payload) {\n throw Error(`FronteggNative.directLoginAction ${payload} not implemented in web`);\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web`);\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n async initWithRegion(payload) {\n throw Error(`FronteggNative.initWithRegion ${payload} not implemented in web`);\n }\n async refreshToken() {\n throw Error(`FronteggNative.refreshToken not implemented in web`);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["LogLevel","registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -93,7 +93,7 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
93
93
|
initializing: new Set(),
|
|
94
94
|
};
|
|
95
95
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
96
|
-
this.logger.info('onFronteggAuthEvent', {
|
|
96
|
+
this.logger.info('onFronteggAuthEvent', JSON.stringify({
|
|
97
97
|
isAuthenticated: state.isAuthenticated,
|
|
98
98
|
showLoader: state.isLoading,
|
|
99
99
|
user: `${state.user}`,
|
|
@@ -102,7 +102,7 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
102
102
|
selectedRegion: state.selectedRegion,
|
|
103
103
|
refreshingToken: state.refreshingToken,
|
|
104
104
|
initializing: state.initializing,
|
|
105
|
-
});
|
|
105
|
+
}));
|
|
106
106
|
const keys = this.orderedListenerKeys;
|
|
107
107
|
keys.forEach(key => {
|
|
108
108
|
if (this.isChanged(this.state[key], state[key])) {
|
|
@@ -114,15 +114,15 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
114
114
|
this.state = state;
|
|
115
115
|
});
|
|
116
116
|
FronteggNative.getAuthState().then((state) => {
|
|
117
|
-
this.logger.info(
|
|
117
|
+
this.logger.info(`getAuthState(): \n ${JSON.stringify(state)} DONE`);
|
|
118
118
|
const keys = Object.keys(this.mapListeners);
|
|
119
|
-
for (const item of keys) {
|
|
119
|
+
for (const item of keys.filter(key => key !== 'initializing')) {
|
|
120
120
|
const key = item;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
124
|
-
}
|
|
121
|
+
this.state[key] = state[key];
|
|
122
|
+
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
125
123
|
}
|
|
124
|
+
this.state.initializing = false;
|
|
125
|
+
this.mapListeners.initializing.forEach((listener) => listener(false));
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
128
|
isChanged(obj1, obj2) {
|
|
@@ -188,6 +188,9 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
188
188
|
get $accessToken() {
|
|
189
189
|
return createObservable(this.mapListeners, this.state, 'accessToken');
|
|
190
190
|
}
|
|
191
|
+
get $refreshingToken() {
|
|
192
|
+
return createObservable(this.mapListeners, this.state, 'refreshingToken');
|
|
193
|
+
}
|
|
191
194
|
get $selectedRegion() {
|
|
192
195
|
return createObservable(this.mapListeners, this.state, 'selectedRegion');
|
|
193
196
|
}
|
|
@@ -197,13 +200,45 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
197
200
|
login() {
|
|
198
201
|
return FronteggNative.login();
|
|
199
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Wait for loader to finish
|
|
205
|
+
* @private
|
|
206
|
+
*/
|
|
207
|
+
async waitForLoader() {
|
|
208
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
209
|
+
return new Promise(async (resolve) => {
|
|
210
|
+
console.log('checking is loading');
|
|
211
|
+
const { isLoading, initializing } = this.getState();
|
|
212
|
+
console.log('checking is loading', JSON.stringify({ isLoading, initializing }));
|
|
213
|
+
if (!isLoading && !initializing) {
|
|
214
|
+
resolve(true);
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
console.log('isLoading is true, waiting for it to be false');
|
|
218
|
+
const unsubscribe = this.$isLoading.subscribe(isLoading => {
|
|
219
|
+
console.log('isLoading', isLoading);
|
|
220
|
+
if (!isLoading) {
|
|
221
|
+
resolve(true);
|
|
222
|
+
unsubscribe();
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
}
|
|
200
227
|
/**
|
|
201
228
|
* Used to log in with social login provider directly without visiting the login page
|
|
202
229
|
* @param type - the direct login type (direct, social-login, custom-social-login)
|
|
203
230
|
* @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)
|
|
204
231
|
* @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser
|
|
205
232
|
*/
|
|
206
|
-
directLoginAction(type, data, ephemeralSession = true) {
|
|
233
|
+
async directLoginAction(type, data, ephemeralSession = true) {
|
|
234
|
+
const state = await this.getNativeState();
|
|
235
|
+
console.log('direct login action', state);
|
|
236
|
+
await this.waitForLoader();
|
|
237
|
+
if (state.isAuthenticated) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
this.state.isLoading = true;
|
|
241
|
+
this.mapListeners.isLoading.forEach((listener) => listener(true));
|
|
207
242
|
return FronteggNative.directLoginAction({ type, data, ephemeralSession });
|
|
208
243
|
}
|
|
209
244
|
logout() {
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/logger.js","esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["/**\n * Enum representing different log levels.\n */\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"INFO\"] = \"info\";\n LogLevel[\"WARN\"] = \"warn\";\n LogLevel[\"ERROR\"] = \"error\";\n LogLevel[\"NONE\"] = \"none\";\n})(LogLevel || (LogLevel = {}));\n/**\n * Logger class to handle logging with a configurable log level.\n */\nexport class Logger {\n constructor(logLevel = LogLevel.WARN) {\n this.logLevel = logLevel;\n }\n info(message, ...args) {\n if (this.shouldLog(LogLevel.INFO)) {\n console.info(message, ...args);\n }\n }\n warn(message, ...args) {\n if (this.shouldLog(LogLevel.WARN)) {\n console.info(message, ...args);\n }\n }\n error(message, ...args) {\n if (this.shouldLog(LogLevel.ERROR)) {\n console.info(message, ...args);\n }\n }\n shouldLog(level) {\n const levels = [LogLevel.INFO, LogLevel.WARN, LogLevel.ERROR];\n return levels.indexOf(level) >= levels.indexOf(this.logLevel);\n }\n}\n//# sourceMappingURL=logger.js.map","// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n },\n };\n};\n//# sourceMappingURL=observables.js.map","import { registerPlugin } from '@capacitor/core';\nimport { Logger } from './logger';\nimport { createObservable } from './observables';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor(options) {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n this.logger = new Logger(options === null || options === void 0 ? void 0 : options.logLevel);\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n this.logger.info('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`,\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n });\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n this.logger.info('getAuthState()', state);\n const keys = Object.keys(this.mapListeners);\n for (const item of keys) {\n const key = item;\n if (this.isChanged(this.state[key], state[key])) {\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n }\n });\n }\n isChanged(obj1, obj2) {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n // Check for null and undefined\n if (obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined) {\n return obj1 !== obj2;\n }\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return true;\n }\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n // If none of the above conditions match, the values have changed\n return true;\n }\n getState() {\n return this.state;\n }\n getNativeState() {\n return FronteggNative.getAuthState();\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n get $selectedRegion() {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n return FronteggNative.login();\n }\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n directLoginAction(type, data, ephemeralSession = true) {\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n logout() {\n FronteggNative.logout();\n }\n getConstants() {\n return FronteggNative.getConstants();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n initWithRegion(regionKey) {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n refreshToken() {\n return FronteggNative.refreshToken();\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async directLoginAction(payload) {\n throw Error(`FronteggNative.directLoginAction ${payload} not implemented in web`);\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web`);\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n async initWithRegion(payload) {\n throw Error(`FronteggNative.initWithRegion ${payload} not implemented in web`);\n }\n async refreshToken() {\n throw Error(`FronteggNative.refreshToken not implemented in web`);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["LogLevel","registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/logger.js","esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["/**\n * Enum representing different log levels.\n */\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"INFO\"] = \"info\";\n LogLevel[\"WARN\"] = \"warn\";\n LogLevel[\"ERROR\"] = \"error\";\n LogLevel[\"NONE\"] = \"none\";\n})(LogLevel || (LogLevel = {}));\n/**\n * Logger class to handle logging with a configurable log level.\n */\nexport class Logger {\n constructor(logLevel = LogLevel.WARN) {\n this.logLevel = logLevel;\n }\n info(message, ...args) {\n if (this.shouldLog(LogLevel.INFO)) {\n console.info(message, ...args);\n }\n }\n warn(message, ...args) {\n if (this.shouldLog(LogLevel.WARN)) {\n console.info(message, ...args);\n }\n }\n error(message, ...args) {\n if (this.shouldLog(LogLevel.ERROR)) {\n console.info(message, ...args);\n }\n }\n shouldLog(level) {\n const levels = [LogLevel.INFO, LogLevel.WARN, LogLevel.ERROR];\n return levels.indexOf(level) >= levels.indexOf(this.logLevel);\n }\n}\n//# sourceMappingURL=logger.js.map","// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n },\n };\n};\n//# sourceMappingURL=observables.js.map","import { registerPlugin } from '@capacitor/core';\nimport { Logger } from './logger';\nimport { createObservable } from './observables';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor(options) {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'selectedRegion',\n 'showLoader',\n 'refreshingToken',\n 'initializing',\n ];\n this.logger = new Logger(options === null || options === void 0 ? void 0 : options.logLevel);\n this.logger.info('FronteggService created');\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n isLoading: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n selectedRegion: null,\n refreshingToken: false,\n initializing: true,\n };\n this.mapListeners = {\n isAuthenticated: new Set(),\n showLoader: new Set(),\n isLoading: new Set(),\n user: new Set(),\n accessToken: new Set(),\n refreshToken: new Set(),\n selectedRegion: new Set(),\n refreshingToken: new Set(),\n initializing: new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n this.logger.info('onFronteggAuthEvent', JSON.stringify({\n isAuthenticated: state.isAuthenticated,\n showLoader: state.isLoading,\n user: `${state.user}`,\n accessToken: state.accessToken ? '****' : null,\n refreshToken: state.refreshToken,\n selectedRegion: state.selectedRegion,\n refreshingToken: state.refreshingToken,\n initializing: state.initializing,\n }));\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.isChanged(this.state[key], state[key])) {\n this.logger.info('onFronteggAuthEvent', key, state[key]);\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n this.logger.info(`getAuthState(): \\n ${JSON.stringify(state)} DONE`);\n const keys = Object.keys(this.mapListeners);\n for (const item of keys.filter(key => key !== 'initializing')) {\n const key = item;\n this.state[key] = state[key];\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n this.state.initializing = false;\n this.mapListeners.initializing.forEach((listener) => listener(false));\n });\n }\n isChanged(obj1, obj2) {\n // Strict equality check\n if (obj1 === obj2) {\n return false;\n }\n // Check for null and undefined\n if (obj1 === null ||\n obj1 === undefined ||\n obj2 === null ||\n obj2 === undefined) {\n return obj1 !== obj2;\n }\n // Handle primitive types (number, string, boolean)\n if (typeof obj1 !== 'object' && typeof obj2 !== 'object') {\n return obj1 !== obj2;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n if (obj1.length !== obj2.length) {\n return true;\n }\n for (let i = 0; i < obj1.length; i++) {\n if (this.isChanged(obj1[i], obj2[i])) {\n return true;\n }\n }\n return false;\n }\n // Handle objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return true;\n }\n for (const key of keys1) {\n if (!keys2.includes(key) || this.isChanged(obj1[key], obj2[key])) {\n return true;\n }\n }\n return false;\n }\n // If none of the above conditions match, the values have changed\n return true;\n }\n getState() {\n return this.state;\n }\n getNativeState() {\n return FronteggNative.getAuthState();\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'isLoading');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n get $refreshingToken() {\n return createObservable(this.mapListeners, this.state, 'refreshingToken');\n }\n get $selectedRegion() {\n return createObservable(this.mapListeners, this.state, 'selectedRegion');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n return FronteggNative.login();\n }\n /**\n * Wait for loader to finish\n * @private\n */\n async waitForLoader() {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n console.log('checking is loading');\n const { isLoading, initializing } = this.getState();\n console.log('checking is loading', JSON.stringify({ isLoading, initializing }));\n if (!isLoading && !initializing) {\n resolve(true);\n return;\n }\n console.log('isLoading is true, waiting for it to be false');\n const unsubscribe = this.$isLoading.subscribe(isLoading => {\n console.log('isLoading', isLoading);\n if (!isLoading) {\n resolve(true);\n unsubscribe();\n }\n });\n });\n }\n /**\n * Used to log in with social login provider directly without visiting the login page\n * @param type - the direct login type (direct, social-login, custom-social-login)\n * @param data - the direct login data (for direct it's saml url request, for social-login it's the provider name, for custom-social-login it's the provider entity id)\n * @param ephemeralSession - if true, the session will be ephemeral and will not be saved in the browser\n */\n async directLoginAction(type, data, ephemeralSession = true) {\n const state = await this.getNativeState();\n console.log('direct login action', state);\n await this.waitForLoader();\n if (state.isAuthenticated) {\n return true;\n }\n this.state.isLoading = true;\n this.mapListeners.isLoading.forEach((listener) => listener(true));\n return FronteggNative.directLoginAction({ type, data, ephemeralSession });\n }\n logout() {\n FronteggNative.logout();\n }\n getConstants() {\n return FronteggNative.getConstants();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n initWithRegion(regionKey) {\n // check if current region is the same as the new region\n if (this.getState().selectedRegion === regionKey) {\n return Promise.resolve();\n }\n return FronteggNative.initWithRegion({ regionKey });\n }\n refreshToken() {\n return FronteggNative.refreshToken();\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async directLoginAction(payload) {\n throw Error(`FronteggNative.directLoginAction ${payload} not implemented in web`);\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web`);\n }\n /**\n * used to initialize the plugin with multiple regions\n * for more information see:\n * iOS: https://github.com/frontegg/frontegg-ios-swift#multi-region-support\n * Android: https://github.com/frontegg/frontegg-android-kotlin#multi-region-support\n */\n async initWithRegion(payload) {\n throw Error(`FronteggNative.initWithRegion ${payload} not implemented in web`);\n }\n async refreshToken() {\n throw Error(`FronteggNative.refreshToken not implemented in web`);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["LogLevel","registerPlugin","WebPlugin"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/ionic-capacitor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10-alpha.10967561420",
|
|
4
4
|
"description": "Frontegg Ionic Capacitor SDK",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -51,6 +51,11 @@
|
|
|
51
51
|
"@frontegg/rest-api": "^3.1.56"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
+
"@angular-eslint/builder": "^16.0.0",
|
|
55
|
+
"@angular-eslint/eslint-plugin": "^16.0.0",
|
|
56
|
+
"@angular-eslint/eslint-plugin-template": "^16.0.0",
|
|
57
|
+
"@angular-eslint/schematics": "^16.0.0",
|
|
58
|
+
"@angular-eslint/template-parser": "^16.0.0",
|
|
54
59
|
"@angular/core": ">=14.0.0",
|
|
55
60
|
"@capacitor/android": "^5.0.0",
|
|
56
61
|
"@capacitor/core": "^5.0.0",
|
|
@@ -65,12 +70,7 @@
|
|
|
65
70
|
"rimraf": "^3.0.2",
|
|
66
71
|
"rollup": "^2.32.0",
|
|
67
72
|
"swiftlint": "^1.0.1",
|
|
68
|
-
"typescript": "~4.1.5"
|
|
69
|
-
"@angular-eslint/builder": "^16.0.0",
|
|
70
|
-
"@angular-eslint/eslint-plugin": "^16.0.0",
|
|
71
|
-
"@angular-eslint/eslint-plugin-template": "^16.0.0",
|
|
72
|
-
"@angular-eslint/schematics": "^16.0.0",
|
|
73
|
-
"@angular-eslint/template-parser": "^16.0.0"
|
|
73
|
+
"typescript": "~4.1.5"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"@capacitor/core": "^5.0.0"
|