@asgardeo/javascript 0.0.1 → 0.1.1

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.
Files changed (73) hide show
  1. package/README.md +3 -3
  2. package/dist/AsgardeoJavaScriptClient.d.ts +17 -50
  3. package/dist/IsomorphicCrypto.d.ts +4 -4
  4. package/dist/{__legacy__/data/data-layer.d.ts → StorageManager.d.ts} +27 -26
  5. package/dist/__legacy__/client.d.ts +82 -98
  6. package/dist/__legacy__/helpers/authentication-helper.d.ts +9 -9
  7. package/dist/__legacy__/models/client-config.d.ts +6 -6
  8. package/dist/__legacy__/models/index.d.ts +0 -5
  9. package/dist/api/createOrganization.d.ts +129 -0
  10. package/dist/api/executeEmbeddedSignInFlow.d.ts +21 -0
  11. package/dist/api/executeEmbeddedSignUpFlow.d.ts +44 -0
  12. package/dist/api/getAllOrganizations.d.ts +112 -0
  13. package/dist/api/getMeOrganizations.d.ts +119 -0
  14. package/dist/api/getOrganization.d.ts +109 -0
  15. package/dist/api/getSchemas.d.ts +89 -0
  16. package/dist/api/getScim2Me.d.ts +89 -0
  17. package/dist/api/{oidc/getUserInfo.d.ts → getUserInfo.d.ts} +1 -1
  18. package/dist/api/initializeEmbeddedSignInFlow.d.ts +51 -0
  19. package/dist/api/updateMeProfile.d.ts +82 -0
  20. package/dist/api/updateOrganization.d.ts +118 -0
  21. package/dist/cjs/index.js +2437 -1224
  22. package/dist/cjs/index.js.map +4 -4
  23. package/dist/constants/ApplicationNativeAuthenticationConstants.d.ts +39 -0
  24. package/dist/constants/OIDCRequestConstants.d.ts +14 -0
  25. package/dist/constants/PKCEConstants.d.ts +1 -0
  26. package/dist/constants/ScopeConstants.d.ts +3 -6
  27. package/dist/constants/TokenExchangeConstants.d.ts +3 -3
  28. package/dist/constants/VendorConstants.d.ts +31 -0
  29. package/dist/{__legacy__/exception → errors}/exception.d.ts +3 -0
  30. package/dist/{__legacy__/data/index.d.ts → i18n/en-US.d.ts} +4 -2
  31. package/dist/{__legacy__/exception → i18n}/index.d.ts +2 -2
  32. package/dist/index.d.ts +44 -11
  33. package/dist/index.js +2399 -1219
  34. package/dist/index.js.map +4 -4
  35. package/dist/models/client.d.ts +60 -5
  36. package/dist/models/config.d.ts +51 -2
  37. package/dist/models/crypto.d.ts +2 -2
  38. package/dist/models/embedded-flow.d.ts +66 -0
  39. package/dist/models/embedded-signin-flow.d.ts +99 -0
  40. package/dist/{__legacy__/models/custom-grant.d.ts → models/field.d.ts} +13 -9
  41. package/dist/models/flow.d.ts +30 -0
  42. package/dist/models/i18n.d.ts +90 -0
  43. package/dist/{__legacy__/models/authorization-url.d.ts → models/oauth-request.d.ts} +3 -3
  44. package/dist/models/oauth-response.d.ts +1 -17
  45. package/dist/models/organization.d.ts +24 -0
  46. package/dist/models/scim2-schema.d.ts +3 -0
  47. package/dist/{__legacy__/models/data.d.ts → models/session.d.ts} +4 -0
  48. package/dist/models/store.d.ts +1 -1
  49. package/dist/models/token.d.ts +79 -20
  50. package/dist/models/user.d.ts +11 -84
  51. package/dist/theme/createTheme.d.ts +1 -1
  52. package/dist/theme/types.d.ts +29 -17
  53. package/dist/utils/deepMerge.d.ts +44 -0
  54. package/dist/utils/extractTenantDomainFromIdTokenPayload.d.ts +2 -2
  55. package/dist/utils/extractUserClaimsFromIdToken.d.ts +2 -2
  56. package/dist/utils/flattenUserSchema.d.ts +64 -0
  57. package/dist/utils/generateFlattenedUserProfile.d.ts +53 -0
  58. package/dist/utils/generateUserProfile.d.ts +55 -0
  59. package/dist/utils/get.d.ts +29 -0
  60. package/dist/utils/getAuthorizeRequestUrlParams.d.ts +59 -0
  61. package/dist/utils/getI18nBundles.d.ts +26 -0
  62. package/dist/utils/getLatestStateParam.d.ts +40 -0
  63. package/dist/utils/isEmpty.d.ts +48 -0
  64. package/dist/utils/processOpenIDScopes.d.ts +36 -0
  65. package/dist/{__legacy__/core/index.d.ts → utils/resolveFieldName.d.ts} +3 -2
  66. package/dist/utils/resolveFieldType.d.ts +20 -0
  67. package/dist/utils/set.d.ts +30 -0
  68. package/dist/utils/withVendorCSSClassPrefix.d.ts +32 -0
  69. package/package.json +4 -4
  70. package/dist/__legacy__/core/authentication-core.d.ts +0 -51
  71. package/dist/__legacy__/models/fetch.d.ts +0 -55
  72. package/dist/__legacy__/models/user.d.ts +0 -85
  73. package/dist/models/id-token.d.ts +0 -55
package/README.md CHANGED
@@ -28,8 +28,8 @@ import { AsgardeoAuth } from "@asgardeo/javascript";
28
28
 
29
29
  // Initialize the auth instance
30
30
  const auth = new AsgardeoAuth({
31
- signInRedirectURL: "https://localhost:3000",
32
- clientID: "<your_client_id>",
31
+ afterSignInUrl: "https://localhost:3000",
32
+ clientId: "<your_client_id>",
33
33
  baseUrl: "https://api.asgardeo.io/t/<org_name>"
34
34
  });
35
35
 
@@ -43,7 +43,7 @@ auth.signIn()
43
43
  });
44
44
 
45
45
  // Get authenticated user
46
- auth.getBasicUserInfo()
46
+ auth.getUser()
47
47
  .then((userInfo) => {
48
48
  console.log(userInfo);
49
49
  });
@@ -15,9 +15,12 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { AsgardeoClient, SignInOptions, SignOutOptions } from './models/client';
19
- import { User } from './models/user';
18
+ import { AsgardeoClient, SignInOptions, SignOutOptions, SignUpOptions } from './models/client';
20
19
  import { Config } from './models/config';
20
+ import { EmbeddedFlowExecuteRequestPayload, EmbeddedFlowExecuteResponse } from './models/embedded-flow';
21
+ import { EmbeddedSignInFlowHandleRequestPayload } from './models/embedded-signin-flow';
22
+ import { Organization } from './models/organization';
23
+ import { User, UserProfile } from './models/user';
21
24
  /**
22
25
  * Base class for implementing Asgardeo clients.
23
26
  * This class provides the core functionality for managing user authentication and sessions.
@@ -25,57 +28,21 @@ import { Config } from './models/config';
25
28
  * @typeParam T - Configuration type that extends Config.
26
29
  */
27
30
  declare abstract class AsgardeoJavaScriptClient<T = Config> implements AsgardeoClient<T> {
28
- /**
29
- * Initializes the authentication client with provided configuration.
30
- *
31
- * @param config - SDK Client instance configuration options.
32
- * @returns Promise resolving to boolean indicating success.
33
- */
31
+ abstract switchOrganization(organization: Organization): Promise<void>;
34
32
  abstract initialize(config: T): Promise<boolean>;
35
- /**
36
- * Gets user information from the session.
37
- *
38
- * @returns User object containing user details.
39
- */
40
33
  abstract getUser(): Promise<User>;
41
- /**
42
- * Checks if the client is currently loading.
43
- * This can be used to determine if the client is in the process of initializing or fetching user data.
44
- *
45
- * @returns Boolean indicating if the client is loading.
46
- */
34
+ abstract getOrganizations(): Promise<Organization[]>;
35
+ abstract getCurrentOrganization(): Promise<Organization | null>;
36
+ abstract getUserProfile(): Promise<UserProfile>;
47
37
  abstract isLoading(): boolean;
48
- /**
49
- * Checks if a user is signed in.
50
- * FIXME: Check if this should return a boolean or a Promise<boolean>.
51
- *
52
- * @returns Promise resolving to boolean indicating sign-in status.
53
- */
54
38
  abstract isSignedIn(): Promise<boolean>;
55
- /**
56
- * Initiates the sign-in process for the user.
57
- *
58
- * @param options - Optional sign-in options like additional parameters to be sent in the authorize request, etc.
59
- * @returns Promise resolving the user upon successful sign in.
60
- */
61
- abstract signIn(options?: SignInOptions): Promise<User>;
62
- /**
63
- * Signs out the currently signed-in user.
64
- *
65
- * @param options - Optional sign-out options like additional parameters to be sent in the sign-out request, etc.
66
- * @param afterSignOut - Callback function to be executed after sign-out is complete.
67
- * @returns A promise that resolves to true if sign-out is successful
68
- */
69
- abstract signOut(options?: SignOutOptions, afterSignOut?: (redirectUrl: string) => void): Promise<string>;
70
- /**
71
- * Signs out the currently signed-in user with an optional session ID.
72
- *
73
- * @param options - Optional sign-out options like additional parameters to be sent in the sign-out request, etc.
74
- * @param sessionId - Optional session ID to be used for sign-out.
75
- * This can be useful in scenarios where multiple sessions are managed.
76
- * @param afterSignOut - Callback function to be executed after sign-out is complete.
77
- * @returns A promise that resolves to true if sign-out is successful
78
- */
79
- abstract signOut(options?: SignOutOptions, sessionId?: string, afterSignOut?: (redirectUrl: string) => void): Promise<string>;
39
+ abstract getConfiguration(): T;
40
+ abstract signIn(options?: SignInOptions, sessionId?: string, onSignInSuccess?: (afterSignInUrl: string) => void): Promise<User>;
41
+ abstract signIn(payload: EmbeddedSignInFlowHandleRequestPayload, request: Request, sessionId?: string, onSignInSuccess?: (afterSignInUrl: string) => void): Promise<User>;
42
+ abstract signOut(options?: SignOutOptions, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
43
+ abstract signOut(options?: SignOutOptions, sessionId?: string, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
44
+ abstract signUp(options?: SignUpOptions): Promise<void>;
45
+ abstract signUp(payload: EmbeddedFlowExecuteRequestPayload): Promise<EmbeddedFlowExecuteResponse>;
46
+ abstract signUp(payload?: unknown): Promise<void> | Promise<EmbeddedFlowExecuteResponse>;
80
47
  }
81
48
  export default AsgardeoJavaScriptClient;
@@ -16,7 +16,7 @@
16
16
  * under the License.
17
17
  */
18
18
  import { Crypto, JWKInterface } from './models/crypto';
19
- import { IdTokenPayload } from './models/id-token';
19
+ import { IdToken } from './models/token';
20
20
  export declare class IsomorphicCrypto<T = any> {
21
21
  private _cryptoUtils;
22
22
  constructor(cryptoUtils: Crypto<T>);
@@ -50,7 +50,7 @@ export declare class IsomorphicCrypto<T = any> {
50
50
  *
51
51
  * @param idToken - id_token received from the IdP.
52
52
  * @param jwk - public key used for signing.
53
- * @param clientID - app identification.
53
+ * @param clientId - app identification.
54
54
  * @param issuer - id_token issuer.
55
55
  * @param username - Username.
56
56
  * @param clockTolerance - Allowed leeway for id_tokens (in seconds).
@@ -59,7 +59,7 @@ export declare class IsomorphicCrypto<T = any> {
59
59
  *
60
60
  * @throws
61
61
  */
62
- isValidIdToken(idToken: string, jwk: JWKInterface, clientID: string, issuer: string, username: string, clockTolerance: number | undefined, validateJwtIssuer: boolean | undefined): Promise<boolean>;
62
+ isValidIdToken(idToken: string, jwk: JWKInterface, clientId: string, issuer: string, username: string, clockTolerance: number | undefined, validateJwtIssuer: boolean | undefined): Promise<boolean>;
63
63
  /**
64
64
  * This function decodes the payload of an id token and returns it.
65
65
  *
@@ -69,5 +69,5 @@ export declare class IsomorphicCrypto<T = any> {
69
69
  *
70
70
  * @throws
71
71
  */
72
- decodeIDToken(idToken: string): IdTokenPayload;
72
+ decodeIdToken(idToken: string): IdToken;
73
73
  }
@@ -15,50 +15,51 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { Stores } from '../../models/store';
19
- import { Store } from '../../models/store';
20
- import { AuthClientConfig, SessionData } from '../models';
21
- import { TemporaryStore, TemporaryStoreValue } from '../../models/store';
22
- import { OIDCDiscoveryApiResponse } from '../../models/oidc-discovery';
18
+ import { Stores } from './models/store';
19
+ import { Storage } from './models/store';
20
+ import { AuthClientConfig } from './__legacy__/models';
21
+ import { SessionData } from './models/session';
22
+ import { TemporaryStore, TemporaryStoreValue } from './models/store';
23
+ import { OIDCDiscoveryApiResponse } from './models/oidc-discovery';
23
24
  type PartialData<T> = Partial<AuthClientConfig<T> | OIDCDiscoveryApiResponse | SessionData | TemporaryStore>;
24
25
  export declare const ASGARDEO_SESSION_ACTIVE: string;
25
- export declare class DataLayer<T> {
26
+ declare class StorageManager<T> {
26
27
  protected _id: string;
27
- protected _store: Store;
28
- constructor(instanceID: string, store: Store);
28
+ protected _store: Storage;
29
+ constructor(instanceID: string, store: Storage);
29
30
  protected setDataInBulk(key: string, data: PartialData<T>): Promise<void>;
30
31
  protected setValue(key: string, attribute: keyof AuthClientConfig<T> | keyof OIDCDiscoveryApiResponse | keyof SessionData | keyof TemporaryStore, value: TemporaryStoreValue): Promise<void>;
31
32
  protected removeValue(key: string, attribute: keyof AuthClientConfig<T> | keyof OIDCDiscoveryApiResponse | keyof SessionData | keyof TemporaryStore): Promise<void>;
32
- protected _resolveKey(store: Stores | string, userID?: string): string;
33
+ protected _resolveKey(store: Stores | string, userId?: string): string;
33
34
  protected isLocalStorageAvailable(): boolean;
34
35
  setConfigData(config: Partial<AuthClientConfig<T>>): Promise<void>;
35
36
  setOIDCProviderMetaData(oidcProviderMetaData: Partial<OIDCDiscoveryApiResponse>): Promise<void>;
36
- setTemporaryData(temporaryData: Partial<TemporaryStore>, userID?: string): Promise<void>;
37
- setSessionData(sessionData: Partial<SessionData>, userID?: string): Promise<void>;
38
- setCustomData<K>(key: string, customData: Partial<K>, userID?: string): Promise<void>;
39
- getConfigData(): Promise<AuthClientConfig<T>>;
40
- getOIDCProviderMetaData(): Promise<OIDCDiscoveryApiResponse>;
41
- getTemporaryData(userID?: string): Promise<TemporaryStore>;
42
- getSessionData(userID?: string): Promise<SessionData>;
43
- getCustomData<K>(key: string, userID?: string): Promise<K>;
37
+ setTemporaryData(temporaryData: Partial<TemporaryStore>, userId?: string): Promise<void>;
38
+ setSessionData(sessionData: Partial<SessionData>, userId?: string): Promise<void>;
39
+ setCustomData<K>(key: string, customData: Partial<K>, userId?: string): Promise<void>;
40
+ getConfigData(userId?: string): Promise<AuthClientConfig<T>>;
41
+ loadOpenIDProviderConfiguration(): Promise<OIDCDiscoveryApiResponse>;
42
+ getTemporaryData(userId?: string): Promise<TemporaryStore>;
43
+ getSessionData(userId?: string): Promise<SessionData>;
44
+ getCustomData<K>(key: string, userId?: string): Promise<K>;
44
45
  setSessionStatus(status: string): void;
45
46
  getSessionStatus(): string;
46
47
  removeSessionStatus(): void;
47
48
  removeConfigData(): Promise<void>;
48
49
  removeOIDCProviderMetaData(): Promise<void>;
49
- removeTemporaryData(userID?: string): Promise<void>;
50
- removeSessionData(userID?: string): Promise<void>;
50
+ removeTemporaryData(userId?: string): Promise<void>;
51
+ removeSessionData(userId?: string): Promise<void>;
51
52
  getConfigDataParameter(key: keyof AuthClientConfig<T>): Promise<TemporaryStoreValue>;
52
53
  getOIDCProviderMetaDataParameter(key: keyof OIDCDiscoveryApiResponse): Promise<TemporaryStoreValue>;
53
- getTemporaryDataParameter(key: keyof TemporaryStore, userID?: string): Promise<TemporaryStoreValue>;
54
- getSessionDataParameter(key: keyof SessionData, userID?: string): Promise<TemporaryStoreValue>;
54
+ getTemporaryDataParameter(key: keyof TemporaryStore, userId?: string): Promise<TemporaryStoreValue>;
55
+ getSessionDataParameter(key: keyof SessionData, userId?: string): Promise<TemporaryStoreValue>;
55
56
  setConfigDataParameter(key: keyof AuthClientConfig<T>, value: TemporaryStoreValue): Promise<void>;
56
57
  setOIDCProviderMetaDataParameter(key: keyof OIDCDiscoveryApiResponse, value: TemporaryStoreValue): Promise<void>;
57
- setTemporaryDataParameter(key: keyof TemporaryStore, value: TemporaryStoreValue, userID?: string): Promise<void>;
58
- setSessionDataParameter(key: keyof SessionData, value: TemporaryStoreValue, userID?: string): Promise<void>;
58
+ setTemporaryDataParameter(key: keyof TemporaryStore, value: TemporaryStoreValue, userId?: string): Promise<void>;
59
+ setSessionDataParameter(key: keyof SessionData, value: TemporaryStoreValue, userId?: string): Promise<void>;
59
60
  removeConfigDataParameter(key: keyof AuthClientConfig<T>): Promise<void>;
60
61
  removeOIDCProviderMetaDataParameter(key: keyof OIDCDiscoveryApiResponse): Promise<void>;
61
- removeTemporaryDataParameter(key: keyof TemporaryStore, userID?: string): Promise<void>;
62
- removeSessionDataParameter(key: keyof SessionData, userID?: string): Promise<void>;
62
+ removeTemporaryDataParameter(key: keyof TemporaryStore, userId?: string): Promise<void>;
63
+ removeSessionDataParameter(key: keyof SessionData, userId?: string): Promise<void>;
63
64
  }
64
- export {};
65
+ export default StorageManager;