@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.
- package/README.md +3 -3
- package/dist/AsgardeoJavaScriptClient.d.ts +17 -50
- package/dist/IsomorphicCrypto.d.ts +4 -4
- package/dist/{__legacy__/data/data-layer.d.ts → StorageManager.d.ts} +27 -26
- package/dist/__legacy__/client.d.ts +82 -98
- package/dist/__legacy__/helpers/authentication-helper.d.ts +9 -9
- package/dist/__legacy__/models/client-config.d.ts +6 -6
- package/dist/__legacy__/models/index.d.ts +0 -5
- package/dist/api/createOrganization.d.ts +129 -0
- package/dist/api/executeEmbeddedSignInFlow.d.ts +21 -0
- package/dist/api/executeEmbeddedSignUpFlow.d.ts +44 -0
- package/dist/api/getAllOrganizations.d.ts +112 -0
- package/dist/api/getMeOrganizations.d.ts +119 -0
- package/dist/api/getOrganization.d.ts +109 -0
- package/dist/api/getSchemas.d.ts +89 -0
- package/dist/api/getScim2Me.d.ts +89 -0
- package/dist/api/{oidc/getUserInfo.d.ts → getUserInfo.d.ts} +1 -1
- package/dist/api/initializeEmbeddedSignInFlow.d.ts +51 -0
- package/dist/api/updateMeProfile.d.ts +82 -0
- package/dist/api/updateOrganization.d.ts +118 -0
- package/dist/cjs/index.js +2437 -1224
- package/dist/cjs/index.js.map +4 -4
- package/dist/constants/ApplicationNativeAuthenticationConstants.d.ts +39 -0
- package/dist/constants/OIDCRequestConstants.d.ts +14 -0
- package/dist/constants/PKCEConstants.d.ts +1 -0
- package/dist/constants/ScopeConstants.d.ts +3 -6
- package/dist/constants/TokenExchangeConstants.d.ts +3 -3
- package/dist/constants/VendorConstants.d.ts +31 -0
- package/dist/{__legacy__/exception → errors}/exception.d.ts +3 -0
- package/dist/{__legacy__/data/index.d.ts → i18n/en-US.d.ts} +4 -2
- package/dist/{__legacy__/exception → i18n}/index.d.ts +2 -2
- package/dist/index.d.ts +44 -11
- package/dist/index.js +2399 -1219
- package/dist/index.js.map +4 -4
- package/dist/models/client.d.ts +60 -5
- package/dist/models/config.d.ts +51 -2
- package/dist/models/crypto.d.ts +2 -2
- package/dist/models/embedded-flow.d.ts +66 -0
- package/dist/models/embedded-signin-flow.d.ts +99 -0
- package/dist/{__legacy__/models/custom-grant.d.ts → models/field.d.ts} +13 -9
- package/dist/models/flow.d.ts +30 -0
- package/dist/models/i18n.d.ts +90 -0
- package/dist/{__legacy__/models/authorization-url.d.ts → models/oauth-request.d.ts} +3 -3
- package/dist/models/oauth-response.d.ts +1 -17
- package/dist/models/organization.d.ts +24 -0
- package/dist/models/scim2-schema.d.ts +3 -0
- package/dist/{__legacy__/models/data.d.ts → models/session.d.ts} +4 -0
- package/dist/models/store.d.ts +1 -1
- package/dist/models/token.d.ts +79 -20
- package/dist/models/user.d.ts +11 -84
- package/dist/theme/createTheme.d.ts +1 -1
- package/dist/theme/types.d.ts +29 -17
- package/dist/utils/deepMerge.d.ts +44 -0
- package/dist/utils/extractTenantDomainFromIdTokenPayload.d.ts +2 -2
- package/dist/utils/extractUserClaimsFromIdToken.d.ts +2 -2
- package/dist/utils/flattenUserSchema.d.ts +64 -0
- package/dist/utils/generateFlattenedUserProfile.d.ts +53 -0
- package/dist/utils/generateUserProfile.d.ts +55 -0
- package/dist/utils/get.d.ts +29 -0
- package/dist/utils/getAuthorizeRequestUrlParams.d.ts +59 -0
- package/dist/utils/getI18nBundles.d.ts +26 -0
- package/dist/utils/getLatestStateParam.d.ts +40 -0
- package/dist/utils/isEmpty.d.ts +48 -0
- package/dist/utils/processOpenIDScopes.d.ts +36 -0
- package/dist/{__legacy__/core/index.d.ts → utils/resolveFieldName.d.ts} +3 -2
- package/dist/utils/resolveFieldType.d.ts +20 -0
- package/dist/utils/set.d.ts +30 -0
- package/dist/utils/withVendorCSSClassPrefix.d.ts +32 -0
- package/package.json +4 -4
- package/dist/__legacy__/core/authentication-core.d.ts +0 -51
- package/dist/__legacy__/models/fetch.d.ts +0 -55
- package/dist/__legacy__/models/user.d.ts +0 -85
- 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
|
-
|
|
32
|
-
|
|
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.
|
|
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
|
-
|
|
43
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
abstract
|
|
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 {
|
|
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
|
|
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,
|
|
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
|
-
|
|
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 '
|
|
19
|
-
import {
|
|
20
|
-
import { AuthClientConfig
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
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
|
-
|
|
26
|
+
declare class StorageManager<T> {
|
|
26
27
|
protected _id: string;
|
|
27
|
-
protected _store:
|
|
28
|
-
constructor(instanceID: string, 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,
|
|
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>,
|
|
37
|
-
setSessionData(sessionData: Partial<SessionData>,
|
|
38
|
-
setCustomData<K>(key: string, customData: Partial<K>,
|
|
39
|
-
getConfigData(): Promise<AuthClientConfig<T>>;
|
|
40
|
-
|
|
41
|
-
getTemporaryData(
|
|
42
|
-
getSessionData(
|
|
43
|
-
getCustomData<K>(key: string,
|
|
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(
|
|
50
|
-
removeSessionData(
|
|
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,
|
|
54
|
-
getSessionDataParameter(key: keyof SessionData,
|
|
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,
|
|
58
|
-
setSessionDataParameter(key: keyof SessionData, value: TemporaryStoreValue,
|
|
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,
|
|
62
|
-
removeSessionDataParameter(key: keyof SessionData,
|
|
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;
|