@asgardeo/nextjs 0.0.3 → 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 (76) hide show
  1. package/README.md +68 -8
  2. package/dist/AsgardeoNextClient.d.ts +37 -8
  3. package/dist/AsgardeoNextClient.js +153 -138
  4. package/dist/AsgardeoNextClient.js.map +1 -1
  5. package/dist/cjs/index.js +25 -2
  6. package/dist/cjs/index.js.map +2 -2
  7. package/dist/client/components/actions/SignInButton/SignInButton.d.ts +2 -2
  8. package/dist/client/components/actions/SignInButton/SignInButton.js +34 -7
  9. package/dist/client/components/actions/SignInButton/SignInButton.js.map +1 -1
  10. package/dist/client/components/actions/SignOutButton/SignOutButton.d.ts +1 -2
  11. package/dist/client/components/actions/SignOutButton/SignOutButton.js +25 -4
  12. package/dist/client/components/actions/SignOutButton/SignOutButton.js.map +1 -1
  13. package/dist/client/components/actions/SignUpButton/SignUpButton.d.ts +38 -14
  14. package/dist/client/components/actions/SignUpButton/SignUpButton.js +69 -15
  15. package/dist/client/components/actions/SignUpButton/SignUpButton.js.map +1 -1
  16. package/dist/client/components/control/SignedIn/SignedIn.js +3 -17
  17. package/dist/client/components/control/SignedIn/SignedIn.js.map +1 -1
  18. package/dist/client/components/control/SignedOut/SignedOut.js +3 -17
  19. package/dist/client/components/control/SignedOut/SignedOut.js.map +1 -1
  20. package/dist/client/components/presentation/SignIn/SignIn.d.ts +1 -1
  21. package/dist/client/components/presentation/SignIn/SignIn.js +9 -6
  22. package/dist/client/components/presentation/SignIn/SignIn.js.map +1 -1
  23. package/dist/client/components/presentation/SignUp/SignUp.d.ts +55 -0
  24. package/dist/client/components/presentation/SignUp/SignUp.js +70 -0
  25. package/dist/client/components/presentation/SignUp/SignUp.js.map +1 -0
  26. package/dist/client/components/presentation/UserDropdown/UserDropdown.d.ts +105 -0
  27. package/dist/client/components/presentation/UserDropdown/UserDropdown.js +106 -0
  28. package/dist/client/components/presentation/UserDropdown/UserDropdown.js.map +1 -0
  29. package/dist/client/components/presentation/UserProfile/UserProfile.d.ts +49 -0
  30. package/dist/client/components/presentation/UserProfile/UserProfile.js +57 -0
  31. package/dist/client/components/presentation/UserProfile/UserProfile.js.map +1 -0
  32. package/dist/client/contexts/Asgardeo/AsgardeoContext.d.ts +1 -8
  33. package/dist/client/contexts/Asgardeo/AsgardeoContext.js +13 -1
  34. package/dist/client/contexts/Asgardeo/AsgardeoContext.js.map +1 -1
  35. package/dist/client/contexts/Asgardeo/AsgardeoProvider.d.ts +15 -5
  36. package/dist/client/contexts/Asgardeo/AsgardeoProvider.js +115 -49
  37. package/dist/client/contexts/Asgardeo/AsgardeoProvider.js.map +1 -1
  38. package/dist/index.d.ts +12 -0
  39. package/dist/index.js +8 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/middleware/asgardeoMiddleware.d.ts +63 -0
  42. package/dist/middleware/asgardeoMiddleware.js +115 -0
  43. package/dist/middleware/asgardeoMiddleware.js.map +1 -0
  44. package/dist/server/AsgardeoProvider.d.ts +6 -3
  45. package/dist/server/AsgardeoProvider.js +42 -3
  46. package/dist/server/AsgardeoProvider.js.map +1 -1
  47. package/dist/server/actions/getClientOrigin.d.ts +2 -0
  48. package/dist/server/actions/getClientOrigin.js +10 -0
  49. package/dist/server/actions/getClientOrigin.js.map +1 -0
  50. package/dist/server/actions/getUserAction.d.ts +35 -0
  51. package/dist/server/actions/getUserAction.js +35 -0
  52. package/dist/server/actions/getUserAction.js.map +1 -0
  53. package/dist/server/actions/getUserProfileAction.d.ts +40 -0
  54. package/dist/server/actions/getUserProfileAction.js +45 -0
  55. package/dist/server/actions/getUserProfileAction.js.map +1 -0
  56. package/dist/server/actions/handleOAuthCallbackAction.d.ts +33 -0
  57. package/dist/server/actions/handleOAuthCallbackAction.js +80 -0
  58. package/dist/server/actions/handleOAuthCallbackAction.js.map +1 -0
  59. package/dist/server/actions/isSignedIn.d.ts +1 -1
  60. package/dist/server/actions/isSignedIn.js +5 -5
  61. package/dist/server/actions/isSignedIn.js.map +1 -1
  62. package/dist/server/actions/signInAction.d.ts +35 -0
  63. package/dist/server/actions/signInAction.js +71 -0
  64. package/dist/server/actions/signInAction.js.map +1 -0
  65. package/dist/server/actions/signOutAction.d.ts +25 -0
  66. package/dist/server/actions/signOutAction.js +33 -0
  67. package/dist/server/actions/signOutAction.js.map +1 -0
  68. package/dist/server/actions/signUpAction.d.ts +35 -0
  69. package/dist/server/actions/signUpAction.js +52 -0
  70. package/dist/server/actions/signUpAction.js.map +1 -0
  71. package/dist/server/actions/updateUserProfileAction.d.ts +36 -0
  72. package/dist/server/actions/updateUserProfileAction.js +41 -0
  73. package/dist/server/actions/updateUserProfileAction.js.map +1 -0
  74. package/dist/utils/decorateConfigWithNextEnv.js +5 -1
  75. package/dist/utils/decorateConfigWithNextEnv.js.map +1 -1
  76. package/package.json +14 -4
package/README.md CHANGED
@@ -23,6 +23,8 @@ yarn add @asgardeo/nextjs
23
23
 
24
24
  ## Quick Start
25
25
 
26
+ ### Option 1: Provider-based Configuration (Recommended)
27
+
26
28
  1. Create a `.env.local` file with your Asgardeo configuration:
27
29
 
28
30
  ```bash
@@ -31,24 +33,64 @@ NEXT_PUBLIC_ASGARDEO_CLIENT_ID=<your-client-id>
31
33
  NEXT_PUBLIC_ASGARDEO_CLIENT_SECRET=<your-client-secret>
32
34
  ```
33
35
 
34
- 2. Then create a `middleware.ts` file in your project root to handle authentication:
36
+ 2. Add the `AsgardeoProvider` to your root layout with configuration:
37
+
38
+ ```tsx
39
+ // app/layout.tsx
40
+ import { AsgardeoProvider } from '@asgardeo/nextjs';
41
+
42
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
43
+ const asgardeoConfig = {
44
+ baseUrl: process.env.NEXT_PUBLIC_ASGARDEO_BASE_URL,
45
+ clientId: process.env.NEXT_PUBLIC_ASGARDEO_CLIENT_ID,
46
+ clientSecret: process.env.NEXT_PUBLIC_ASGARDEO_CLIENT_SECRET,
47
+ afterSignInUrl: process.env.NEXT_PUBLIC_ASGARDEO_AFTER_SIGN_IN_URL || 'http://localhost:3000',
48
+ };
49
+
50
+ return (
51
+ <html lang="en">
52
+ <body>
53
+ <AsgardeoProvider config={asgardeoConfig}>
54
+ {children}
55
+ </AsgardeoProvider>
56
+ </body>
57
+ </html>
58
+ );
59
+ }
60
+ ```
61
+
62
+ 3. Create a simple `middleware.ts` file in your project root:
35
63
 
36
64
  ```typescript
37
- import { AsgardeoNext } from '@asgardeo/nextjs';
38
- import { NextRequest } from 'next/server';
65
+ import { asgardeoMiddleware } from '@asgardeo/nextjs/middleware';
66
+
67
+ export default asgardeoMiddleware;
68
+
69
+ export const config = {
70
+ matcher: [
71
+ // Skip Next.js internals and all static files, unless found in search params
72
+ '/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|webp|png|gif|svg|ttf|woff2?|ico|csv|docx?|xlsx?|zip|webmanifest)).*)',
73
+ // Always run for API routes
74
+ '/(api|trpc)(.*)',
75
+ ],
76
+ };
77
+ ```
39
78
 
40
- const asgardeo = new AsgardeoNext();
79
+ ### Option 2: Middleware-based Configuration
80
+
81
+ 2. Then create a `middleware.ts` file in your project root to handle authentication:
41
82
 
42
- asgardeo.initialize({
83
+ ```typescript
84
+ import { createAsgardeoMiddleware } from '@asgardeo/nextjs/middleware';
85
+
86
+ const middleware = createAsgardeoMiddleware({
43
87
  baseUrl: process.env.NEXT_PUBLIC_ASGARDEO_BASE_URL,
44
88
  clientId: process.env.NEXT_PUBLIC_ASGARDEO_CLIENT_ID,
45
89
  clientSecret: process.env.NEXT_PUBLIC_ASGARDEO_CLIENT_SECRET,
46
90
  afterSignInUrl: 'http://localhost:3000',
47
91
  });
48
92
 
49
- export async function middleware(request: NextRequest) {
50
- return await asgardeo.middleware(request);
51
- }
93
+ export { middleware };
52
94
 
53
95
  export const config = {
54
96
  matcher: [
@@ -82,6 +124,24 @@ export default function Home() {
82
124
  }
83
125
  ```
84
126
 
127
+ ## Server-side Usage
128
+
129
+ You can access the Asgardeo client instance in server actions and other server-side code:
130
+
131
+ ```typescript
132
+ import { getAsgardeoClient } from '@asgardeo/nextjs/server';
133
+
134
+ export async function getUserProfile() {
135
+ const client = getAsgardeoClient();
136
+ const user = await client.getUser();
137
+ return user;
138
+ }
139
+ ```
140
+
141
+ ## Architecture
142
+
143
+ The SDK uses a singleton pattern for the `AsgardeoNextClient` to ensure consistent authentication state across your application. The client is automatically initialized when you provide configuration through the `AsgardeoProvider` or through the middleware configuration.
144
+
85
145
  ## License
86
146
 
87
147
  Apache-2.0
@@ -15,33 +15,62 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { AsgardeoNodeClient, EmbeddedFlowExecuteRequestPayload, EmbeddedFlowExecuteResponse, SignInOptions, SignOutOptions, SignUpOptions, User, UserProfile, Organization, EmbeddedSignInFlowHandleRequestPayload, EmbeddedFlowExecuteRequestConfig } from '@asgardeo/node';
19
- import { NextRequest, NextResponse } from 'next/server';
18
+ import { AsgardeoNodeClient, EmbeddedFlowExecuteRequestPayload, EmbeddedFlowExecuteResponse, SignInOptions, SignOutOptions, SignUpOptions, User, UserProfile, Organization, EmbeddedSignInFlowHandleRequestPayload, EmbeddedFlowExecuteRequestConfig, ExtendedAuthorizeRequestUrlParams } from '@asgardeo/node';
20
19
  import { AsgardeoNextConfig } from './models/config';
21
20
  /**
22
21
  * Client for mplementing Asgardeo in Next.js applications.
23
22
  * This class provides the core functionality for managing user authentication and sessions.
24
23
  *
24
+ * This class is implemented as a singleton to ensure a single instance across the application.
25
+ *
25
26
  * @typeParam T - Configuration type that extends AsgardeoNextConfig.
26
27
  */
27
28
  declare class AsgardeoNextClient<T extends AsgardeoNextConfig = AsgardeoNextConfig> extends AsgardeoNodeClient<T> {
29
+ private static instance;
28
30
  private asgardeo;
29
- constructor();
31
+ isInitialized: boolean;
32
+ private constructor();
33
+ /**
34
+ * Get the singleton instance of AsgardeoNextClient
35
+ */
36
+ static getInstance<T extends AsgardeoNextConfig = AsgardeoNextConfig>(): AsgardeoNextClient<T>;
37
+ /**
38
+ * Ensures the client is initialized before using it.
39
+ * Throws an error if the client is not initialized.
40
+ */
41
+ private ensureInitialized;
30
42
  initialize(config: T): Promise<boolean>;
31
43
  getUser(userId?: string): Promise<User>;
44
+ getUserProfile(userId?: string): Promise<UserProfile>;
45
+ updateUserProfile(payload: any, userId?: string): Promise<User>;
32
46
  getOrganizations(): Promise<Organization[]>;
33
- getUserProfile(): Promise<UserProfile>;
34
47
  switchOrganization(organization: Organization): Promise<void>;
35
48
  getCurrentOrganization(): Promise<Organization | null>;
36
49
  isLoading(): boolean;
37
50
  isSignedIn(sessionId?: string): Promise<boolean>;
51
+ getAccessToken(sessionId?: string): Promise<string>;
52
+ getConfiguration(): T;
38
53
  signIn(options?: SignInOptions, sessionId?: string, onSignInSuccess?: (afterSignInUrl: string) => void): Promise<User>;
39
54
  signIn(payload: EmbeddedSignInFlowHandleRequestPayload, request: EmbeddedFlowExecuteRequestConfig, sessionId?: string, onSignInSuccess?: (afterSignInUrl: string) => void): Promise<User>;
40
- signOut(options?: SignOutOptions, afterSignOut?: (redirectUrl: string) => void): Promise<string>;
41
- signOut(options?: SignOutOptions, sessionId?: string, afterSignOut?: (redirectUrl: string) => void): Promise<string>;
55
+ signOut(options?: SignOutOptions, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
56
+ signOut(options?: SignOutOptions, sessionId?: string, afterSignOut?: (afterSignOutUrl: string) => void): Promise<string>;
42
57
  signUp(options?: SignUpOptions): Promise<void>;
43
58
  signUp(payload: EmbeddedFlowExecuteRequestPayload): Promise<EmbeddedFlowExecuteResponse>;
44
- handler(req: NextRequest): Promise<NextResponse>;
45
- middleware(req: NextRequest): Promise<NextResponse>;
59
+ /**
60
+ * Gets the sign-in URL for authentication.
61
+ * Ensures the client is initialized before making the call.
62
+ *
63
+ * @param customParams - Custom parameters to include in the sign-in URL.
64
+ * @param userId - The user ID
65
+ * @returns Promise that resolves to the sign-in URL
66
+ */
67
+ getAuthorizeRequestUrl(customParams: ExtendedAuthorizeRequestUrlParams, userId?: string): Promise<string>;
68
+ /**
69
+ * Gets the storage manager from the underlying Asgardeo client.
70
+ * Ensures the client is initialized before making the call.
71
+ *
72
+ * @returns Promise that resolves to the storage manager
73
+ */
74
+ getStorageManager(): Promise<any>;
46
75
  }
47
76
  export default AsgardeoNextClient;
@@ -15,45 +15,140 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { AsgardeoNodeClient, AsgardeoRuntimeError, LegacyAsgardeoNodeClient, initializeEmbeddedSignInFlow, executeEmbeddedSignInFlow, CookieConfig, generateSessionId, EmbeddedSignInFlowStatus, } from '@asgardeo/node';
19
- import { NextResponse } from 'next/server';
20
- import InternalAuthAPIRoutesConfig from './configs/InternalAuthAPIRoutesConfig';
21
- import deleteSessionId from './server/actions/deleteSessionId';
18
+ import { AsgardeoNodeClient, AsgardeoRuntimeError, LegacyAsgardeoNodeClient, initializeEmbeddedSignInFlow, executeEmbeddedSignInFlow, generateUserProfile, flattenUserSchema, getScim2Me, getSchemas, generateFlattenedUserProfile, updateMeProfile, executeEmbeddedSignUpFlow, } from '@asgardeo/node';
22
19
  import getSessionId from './server/actions/getSessionId';
23
- import getIsSignedIn from './server/actions/isSignedIn';
24
20
  import decorateConfigWithNextEnv from './utils/decorateConfigWithNextEnv';
21
+ import getClientOrigin from './server/actions/getClientOrigin';
25
22
  const removeTrailingSlash = (path) => (path.endsWith('/') ? path.slice(0, -1) : path);
26
23
  /**
27
24
  * Client for mplementing Asgardeo in Next.js applications.
28
25
  * This class provides the core functionality for managing user authentication and sessions.
29
26
  *
27
+ * This class is implemented as a singleton to ensure a single instance across the application.
28
+ *
30
29
  * @typeParam T - Configuration type that extends AsgardeoNextConfig.
31
30
  */
32
31
  class AsgardeoNextClient extends AsgardeoNodeClient {
32
+ static instance;
33
33
  asgardeo;
34
+ isInitialized = false;
34
35
  constructor() {
35
36
  super();
36
37
  this.asgardeo = new LegacyAsgardeoNodeClient();
37
38
  }
38
- initialize(config) {
39
- const { baseUrl, clientId, clientSecret, afterSignInUrl, ...rest } = decorateConfigWithNextEnv(config);
39
+ /**
40
+ * Get the singleton instance of AsgardeoNextClient
41
+ */
42
+ static getInstance() {
43
+ if (!AsgardeoNextClient.instance) {
44
+ AsgardeoNextClient.instance = new AsgardeoNextClient();
45
+ }
46
+ return AsgardeoNextClient.instance;
47
+ }
48
+ /**
49
+ * Ensures the client is initialized before using it.
50
+ * Throws an error if the client is not initialized.
51
+ */
52
+ async ensureInitialized() {
53
+ if (!this.isInitialized) {
54
+ throw new Error('[AsgardeoNextClient] Client is not initialized. Make sure you have wrapped your app with AsgardeoProvider and provided the required configuration (baseUrl, clientId, etc.).');
55
+ }
56
+ }
57
+ async initialize(config) {
58
+ if (this.isInitialized) {
59
+ console.warn('[AsgardeoNextClient] Client is already initialized');
60
+ return Promise.resolve(true);
61
+ }
62
+ const { baseUrl, clientId, clientSecret, signInUrl, afterSignInUrl, afterSignOutUrl, signUpUrl, ...rest } = decorateConfigWithNextEnv(config);
63
+ this.isInitialized = true;
64
+ const origin = await getClientOrigin();
40
65
  return this.asgardeo.initialize({
41
66
  baseUrl,
42
67
  clientId,
43
68
  clientSecret,
44
- afterSignInUrl,
69
+ signInUrl,
70
+ signUpUrl,
71
+ afterSignInUrl: afterSignInUrl ?? origin,
72
+ afterSignOutUrl: afterSignOutUrl ?? origin,
45
73
  enablePKCE: false,
46
74
  ...rest,
47
75
  });
48
76
  }
49
77
  async getUser(userId) {
78
+ await this.ensureInitialized();
50
79
  const resolvedSessionId = userId || (await getSessionId());
51
- return this.asgardeo.getUser(resolvedSessionId);
80
+ try {
81
+ const configData = await this.asgardeo.getConfigData();
82
+ const baseUrl = configData?.baseUrl;
83
+ const profile = await getScim2Me({
84
+ baseUrl,
85
+ headers: {
86
+ Authorization: `Bearer ${await this.getAccessToken(userId)}`,
87
+ },
88
+ });
89
+ const schemas = await getSchemas({
90
+ baseUrl,
91
+ headers: {
92
+ Authorization: `Bearer ${await this.getAccessToken(userId)}`,
93
+ },
94
+ });
95
+ return generateUserProfile(profile, flattenUserSchema(schemas));
96
+ }
97
+ catch (error) {
98
+ return this.asgardeo.getUser(resolvedSessionId);
99
+ }
52
100
  }
53
- async getOrganizations() {
54
- throw new Error('Method not implemented.');
101
+ async getUserProfile(userId) {
102
+ await this.ensureInitialized();
103
+ try {
104
+ const configData = await this.asgardeo.getConfigData();
105
+ const baseUrl = configData?.baseUrl;
106
+ const profile = await getScim2Me({
107
+ baseUrl,
108
+ headers: {
109
+ Authorization: `Bearer ${await this.getAccessToken(userId)}`,
110
+ },
111
+ });
112
+ const schemas = await getSchemas({
113
+ baseUrl,
114
+ headers: {
115
+ Authorization: `Bearer ${await this.getAccessToken(userId)}`,
116
+ },
117
+ });
118
+ const processedSchemas = flattenUserSchema(schemas);
119
+ const output = {
120
+ schemas: processedSchemas,
121
+ flattenedProfile: generateFlattenedUserProfile(profile, processedSchemas),
122
+ profile,
123
+ };
124
+ return output;
125
+ }
126
+ catch (error) {
127
+ return {
128
+ schemas: [],
129
+ flattenedProfile: await this.asgardeo.getDecodedIdToken(),
130
+ profile: await this.asgardeo.getDecodedIdToken(),
131
+ };
132
+ }
133
+ }
134
+ async updateUserProfile(payload, userId) {
135
+ await this.ensureInitialized();
136
+ try {
137
+ const configData = await this.asgardeo.getConfigData();
138
+ const baseUrl = configData?.baseUrl;
139
+ return await updateMeProfile({
140
+ baseUrl,
141
+ payload,
142
+ headers: {
143
+ Authorization: `Bearer ${await this.getAccessToken(userId)}`,
144
+ },
145
+ });
146
+ }
147
+ catch (error) {
148
+ throw new AsgardeoRuntimeError(`Failed to update user profile: ${error instanceof Error ? error.message : 'Unknown error'}`, 'AsgardeoNextClient-UpdateProfileError-001', 'react', 'An error occurred while updating the user profile. Please check your configuration and network connection.');
149
+ }
55
150
  }
56
- getUserProfile() {
151
+ async getOrganizations() {
57
152
  throw new Error('Method not implemented.');
58
153
  }
59
154
  switchOrganization(organization) {
@@ -68,16 +163,26 @@ class AsgardeoNextClient extends AsgardeoNodeClient {
68
163
  isSignedIn(sessionId) {
69
164
  return this.asgardeo.isSignedIn(sessionId);
70
165
  }
166
+ getAccessToken(sessionId) {
167
+ return this.asgardeo.getAccessToken(sessionId);
168
+ }
169
+ getConfiguration() {
170
+ return this.asgardeo.getConfigData();
171
+ }
71
172
  async signIn(...args) {
72
173
  const arg1 = args[0];
73
174
  const arg2 = args[1];
74
175
  const arg3 = args[2];
75
176
  const arg4 = args[3];
76
- if (typeof arg1 === 'object' && 'flowId' in arg1 && typeof arg1 === 'object' && 'url' in arg2) {
177
+ if (typeof arg1 === 'object' && 'flowId' in arg1) {
77
178
  if (arg1.flowId === '') {
179
+ const defaultSignInUrl = new URL(await this.getAuthorizeRequestUrl({
180
+ response_mode: 'direct',
181
+ client_secret: '{{clientSecret}}',
182
+ }));
78
183
  return initializeEmbeddedSignInFlow({
79
- payload: arg2.payload,
80
- url: arg2.url,
184
+ url: `${defaultSignInUrl.origin}${defaultSignInUrl.pathname}`,
185
+ payload: Object.fromEntries(defaultSignInUrl.searchParams.entries()),
81
186
  });
82
187
  }
83
188
  return executeEmbeddedSignInFlow({
@@ -95,131 +200,41 @@ class AsgardeoNextClient extends AsgardeoNodeClient {
95
200
  return Promise.resolve(await this.asgardeo.signOut(resolvedSessionId));
96
201
  }
97
202
  async signUp(...args) {
98
- throw new AsgardeoRuntimeError('Not implemented', 'react-AsgardeoReactClient-ValidationError-002', 'react', 'The signUp method with SignUpOptions is not implemented in the React client.');
99
- }
100
- async handler(req) {
101
- const { pathname, searchParams } = req.nextUrl;
102
- const sanitizedPathname = removeTrailingSlash(pathname);
103
- const { method } = req;
104
- // Handle POST sign-in request
105
- if (method === 'POST' && sanitizedPathname === InternalAuthAPIRoutesConfig.signIn) {
106
- try {
107
- // Get session ID from cookies directly since we're in middleware context
108
- let userId = req.cookies.get(CookieConfig.SESSION_COOKIE_NAME)?.value;
109
- // Generate session ID if not present
110
- if (!userId) {
111
- userId = generateSessionId();
112
- }
113
- const signInUrl = new URL(await this.asgardeo.getSignInUrl({ response_mode: 'direct' }, userId));
114
- const { pathname: urlPathname, origin, searchParams: urlSearchParams } = signInUrl;
115
- console.log('[AsgardeoNextClient] Sign-in URL:', signInUrl.toString());
116
- console.log('[AsgardeoNextClient] Search Params:', Object.fromEntries(urlSearchParams.entries()));
117
- const body = await req.json();
118
- console.log('[AsgardeoNextClient] Sign-in request:', body);
119
- const { payload, request } = body;
120
- const response = await this.signIn(payload, {
121
- url: request?.url ?? `${origin}${urlPathname}`,
122
- payload: request?.payload ?? Object.fromEntries(urlSearchParams.entries()),
123
- }, userId);
124
- // Clean the response to remove any non-serializable properties
125
- const cleanResponse = response ? JSON.parse(JSON.stringify(response)) : { success: true };
126
- // Create response with session cookie
127
- const nextResponse = NextResponse.json(cleanResponse);
128
- // Set session cookie if it was generated
129
- if (!req.cookies.get(CookieConfig.SESSION_COOKIE_NAME)) {
130
- nextResponse.cookies.set(CookieConfig.SESSION_COOKIE_NAME, userId, {
131
- httpOnly: CookieConfig.DEFAULT_HTTP_ONLY,
132
- maxAge: CookieConfig.DEFAULT_MAX_AGE,
133
- sameSite: CookieConfig.DEFAULT_SAME_SITE,
134
- secure: CookieConfig.DEFAULT_SECURE,
135
- });
136
- }
137
- if (response.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {
138
- const res = await this.signIn({
139
- code: response?.authData?.code,
140
- session_state: response?.authData?.session_state,
141
- state: response?.authData?.state,
142
- }, {}, userId, (afterSignInUrl) => null);
143
- const afterSignInUrl = await (await this.asgardeo.getStorageManager()).getConfigDataParameter('afterSignInUrl');
144
- const redirectUrl = String(afterSignInUrl);
145
- console.log('[AsgardeoNextClient] Sign-in successful, redirecting to:', redirectUrl);
146
- return NextResponse.redirect(redirectUrl, 303);
147
- }
148
- return nextResponse;
149
- }
150
- catch (error) {
151
- console.error('[AsgardeoNextClient] Failed to initialize embedded sign-in flow:', error);
152
- return NextResponse.json({ error: 'Failed to initialize sign-in flow' }, { status: 500 });
153
- }
203
+ if (args.length === 0) {
204
+ throw new AsgardeoRuntimeError('No arguments provided for signUp method.', 'AsgardeoNextClient-ValidationError-001', 'nextjs', 'The signUp method requires at least one argument, either a SignUpOptions object or an EmbeddedFlowExecuteRequestPayload.');
154
205
  }
155
- // Handle GET sign-in request or callback with code
156
- if ((method === 'GET' && sanitizedPathname === InternalAuthAPIRoutesConfig.signIn) || searchParams.get('code')) {
157
- try {
158
- if (searchParams.get('code')) {
159
- // Handle OAuth callback
160
- await this.signIn();
161
- const cleanUrl = new URL(req.url);
162
- cleanUrl.searchParams.delete('code');
163
- cleanUrl.searchParams.delete('state');
164
- cleanUrl.searchParams.delete('session_state');
165
- return NextResponse.redirect(cleanUrl.toString());
166
- }
167
- // Regular GET sign-in request
168
- await this.signIn();
169
- return NextResponse.next();
170
- }
171
- catch (error) {
172
- console.error('[AsgardeoNextClient] Sign-in failed:', error);
173
- return NextResponse.json({ error: 'Sign-in failed' }, { status: 500 });
174
- }
175
- }
176
- if (method === 'GET' && sanitizedPathname === InternalAuthAPIRoutesConfig.session) {
177
- try {
178
- const isSignedIn = await getIsSignedIn();
179
- return NextResponse.json({ isSignedIn });
180
- }
181
- catch (error) {
182
- return NextResponse.json({ error: 'Failed to check session' }, { status: 500 });
183
- }
184
- }
185
- if (method === 'GET' && sanitizedPathname === InternalAuthAPIRoutesConfig.user) {
186
- try {
187
- const user = await this.getUser();
188
- console.log('[AsgardeoNextClient] User fetched successfully:', user);
189
- return NextResponse.json({ user });
190
- }
191
- catch (error) {
192
- console.error('[AsgardeoNextClient] Failed to get user:', error);
193
- return NextResponse.json({ error: 'Failed to get user' }, { status: 500 });
194
- }
195
- }
196
- if (method === 'GET' && sanitizedPathname === InternalAuthAPIRoutesConfig.signOut) {
197
- try {
198
- const afterSignOutUrl = await this.signOut();
199
- await deleteSessionId();
200
- return NextResponse.redirect(afterSignOutUrl, 302);
201
- }
202
- catch (error) {
203
- console.error('[AsgardeoNextClient] Sign-out failed:', error);
204
- return NextResponse.json({ error: 'Failed to sign out' }, { status: 500 });
205
- }
206
+ const firstArg = args[0];
207
+ if (typeof firstArg === 'object' && 'flowType' in firstArg) {
208
+ const configData = await this.asgardeo.getConfigData();
209
+ const baseUrl = configData?.baseUrl;
210
+ return executeEmbeddedSignUpFlow({
211
+ baseUrl,
212
+ payload: firstArg,
213
+ });
206
214
  }
207
- // no auth handler found, simply touch the sessions
208
- // TODO: this should only happen if rolling sessions are enabled. Also, we should
209
- // try to avoid reading from the DB (for stateful sessions) on every request if possible.
210
- // const res = NextResponse.next();
211
- // const session = await this.sessionStore.get(req.cookies);
212
- // if (session) {
213
- // // we pass the existing session (containing an `createdAt` timestamp) to the set method
214
- // // which will update the cookie's `maxAge` property based on the `createdAt` time
215
- // await this.sessionStore.set(req.cookies, res.cookies, {
216
- // ...session,
217
- // });
218
- // }
219
- return NextResponse.next();
220
- }
221
- middleware(req) {
222
- return this.handler(req);
215
+ throw new AsgardeoRuntimeError('Not implemented', 'AsgardeoNextClient-ValidationError-002', 'nextjs', 'The signUp method with SignUpOptions is not implemented in the Next.js client.');
216
+ }
217
+ /**
218
+ * Gets the sign-in URL for authentication.
219
+ * Ensures the client is initialized before making the call.
220
+ *
221
+ * @param customParams - Custom parameters to include in the sign-in URL.
222
+ * @param userId - The user ID
223
+ * @returns Promise that resolves to the sign-in URL
224
+ */
225
+ async getAuthorizeRequestUrl(customParams, userId) {
226
+ await this.ensureInitialized();
227
+ return this.asgardeo.getSignInUrl(customParams, userId);
228
+ }
229
+ /**
230
+ * Gets the storage manager from the underlying Asgardeo client.
231
+ * Ensures the client is initialized before making the call.
232
+ *
233
+ * @returns Promise that resolves to the storage manager
234
+ */
235
+ async getStorageManager() {
236
+ await this.ensureInitialized();
237
+ return this.asgardeo.getStorageManager();
223
238
  }
224
239
  }
225
240
  export default AsgardeoNextClient;
@@ -1 +1 @@
1
- {"version":3,"file":"AsgardeoNextClient.js","sourceRoot":"","sources":["../src/AsgardeoNextClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EAGpB,wBAAwB,EAMxB,4BAA4B,EAG5B,yBAAyB,EAEzB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAc,YAAY,EAAC,MAAM,aAAa,CAAC;AACtD,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAEhF,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAE1E,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtG;;;;;GAKG;AACH,MAAM,kBAAsE,SAAQ,kBAAqB;IAC/F,QAAQ,CAA8B;IAE9C;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACjD,CAAC;IAEQ,UAAU,CAAC,MAAS;QAC3B,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,EAAC,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAErG,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,UAAU,EAAE,KAAK;YACjB,GAAG,IAAI;SACD,CAAC,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAe;QACpC,MAAM,iBAAiB,GAAW,MAAM,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAE/E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,cAAc;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,kBAAkB,CAAC,YAA0B;QACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,sBAAsB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,SAAS;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,UAAU,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAmB,CAAC,CAAC;IACvD,CAAC;IAaQ,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACvB,OAAO,4BAA4B,CAAC;oBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd,CAAC,CAAC;YACL,CAAC;YAED,OAAO,yBAAyB,CAAC;gBAC/B,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,IAAI,EACJ,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,KAAK,EACX,IAAW,CACgB,CAAC;IAChC,CAAC;IAQQ,KAAK,CAAC,OAAO,CAAC,GAAG,IAAW;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,iBAAiB,GAAW,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAEhF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzE,CAAC;IAIQ,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QAClC,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,+CAA+C,EAC/C,OAAO,EACP,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAgB;QAC5B,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAC,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,iBAAiB,GAAW,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,EAAC,MAAM,EAAC,GAAG,GAAG,CAAC;QAErB,8BAA8B;QAC9B,IAAI,MAAM,KAAK,MAAM,IAAI,iBAAiB,KAAK,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAClF,IAAI,CAAC;gBACH,yEAAyE;gBACzE,IAAI,MAAM,GAAuB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;gBAE1F,qCAAqC;gBACrC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBAC/B,CAAC;gBAED,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC,aAAa,EAAE,QAAQ,EAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpG,MAAM,EAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAC,GAAG,SAAS,CAAC;gBAEjF,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClG,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAE9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;gBAE3D,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;gBAEhC,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,MAAM,CACrC,OAAO,EACP;oBACE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,WAAW,EAAE;oBAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;iBAC3E,EACD,MAAM,CACP,CAAC;gBAEF,+DAA+D;gBAC/D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;gBAExF,sCAAsC;gBACtC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEtD,yCAAyC;gBACzC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACvD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE;wBACjE,QAAQ,EAAE,YAAY,CAAC,iBAAiB;wBACxC,MAAM,EAAE,YAAY,CAAC,eAAe;wBACpC,QAAQ,EAAE,YAAY,CAAC,iBAAiB;wBACxC,MAAM,EAAE,YAAY,CAAC,cAAc;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,CAAC,UAAU,KAAK,wBAAwB,CAAC,gBAAgB,EAAE,CAAC;oBACtE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B;wBACE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI;wBAC9B,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;wBAChD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;qBAC1B,EACR,EAAE,EACF,MAAM,EACN,CAAC,cAAsB,EAAE,EAAE,CAAC,IAAI,CACjC,CAAC;oBAEF,MAAM,cAAc,GAAG,MAAM,CAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CACxC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;oBAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE,WAAW,CAAC,CAAC;oBAErF,OAAO,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;gBAED,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kEAAkE,EAAE,KAAK,CAAC,CAAC;gBACzF,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,mCAAmC,EAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,iBAAiB,KAAK,2BAA2B,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/G,IAAI,CAAC;gBACH,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,wBAAwB;oBACxB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBAEpB,MAAM,QAAQ,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBAE9C,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC7D,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,gBAAgB,EAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,iBAAiB,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,UAAU,GAAY,MAAM,aAAa,EAAE,CAAC;gBAElD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,UAAU,EAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,yBAAyB,EAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,iBAAiB,KAAK,2BAA2B,CAAC,IAAI,EAAE,CAAC;YAC/E,IAAI,CAAC;gBACH,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAExC,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,CAAC;gBAErE,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACjE,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,oBAAoB,EAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,iBAAiB,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,eAAe,GAAW,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAErD,MAAM,eAAe,EAAE,CAAC;gBAExB,OAAO,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAC9D,OAAO,YAAY,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,oBAAoB,EAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,iFAAiF;QACjF,yFAAyF;QACzF,mCAAmC;QACnC,4DAA4D;QAE5D,iBAAiB;QACjB,4FAA4F;QAC5F,sFAAsF;QACtF,4DAA4D;QAC5D,kBAAkB;QAClB,QAAQ;QACR,IAAI;QAEJ,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,GAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"AsgardeoNextClient.js","sourceRoot":"","sources":["../src/AsgardeoNextClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EAGpB,wBAAwB,EAMxB,4BAA4B,EAG5B,yBAAyB,EAGzB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAC1E,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAE/D,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtG;;;;;;;GAOG;AACH,MAAM,kBAAsE,SAAQ,kBAAqB;IAC/F,MAAM,CAAC,QAAQ,CAA0B;IACzC,QAAQ,CAA8B;IACvC,aAAa,GAAY,KAAK,CAAC;IAEtC;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACjC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAK,CAAC;QAC5D,CAAC;QACD,OAAO,kBAAkB,CAAC,QAAiC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,8KAA8K,CAC/K,CAAC;QACJ,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,MAAS;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,IAAI,EAAC,GACrG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,MAAM,MAAM,GAAW,MAAM,eAAe,EAAE,CAAC;QAE/C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,SAAS;YACT,cAAc,EAAE,cAAc,IAAI,MAAM;YACxC,eAAe,EAAE,eAAe,IAAI,MAAM;YAC1C,UAAU,EAAE,KAAK;YACjB,GAAG,IAAI;SACD,CAAC,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAe;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAW,MAAM,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAE/E,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;YAEpC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;iBAC7D;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;iBAC7D;aACF,CAAC,CAAC;YAEH,OAAO,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,MAAe;QAC3C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;YAEpC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;iBAC7D;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;iBAC7D;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,gBAAgB;gBACzB,gBAAgB,EAAE,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBACzE,OAAO;aACR,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,gBAAgB,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBACzD,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;aACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAY,EAAE,MAAe;QACnD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;YAEpC,OAAO,MAAM,eAAe,CAAC;gBAC3B,OAAO;gBACP,OAAO;gBACP,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;iBAC7D;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAC5B,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAC5F,2CAA2C,EAC3C,OAAO,EACP,4GAA4G,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,kBAAkB,CAAC,YAA0B;QACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,sBAAsB;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEQ,SAAS;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,UAAU,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAmB,CAAC,CAAC;IACvD,CAAC;IAED,cAAc,CAAC,SAAkB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAmB,CAAC,CAAC;IAC3D,CAAC;IAEQ,gBAAgB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAkB,CAAC;IACvD,CAAC;IAaQ,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,gBAAgB,GAAQ,IAAI,GAAG,CACnC,MAAM,IAAI,CAAC,sBAAsB,CAAC;oBAChC,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,kBAAkB;iBAClC,CAAC,CACH,CAAC;gBAEF,OAAO,4BAA4B,CAAC;oBAClC,GAAG,EAAE,GAAG,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE;oBAC7D,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,yBAAyB,CAAC;gBAC/B,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,IAAI,EACJ,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,KAAK,EACX,IAAW,CACgB,CAAC;IAChC,CAAC;IAQQ,KAAK,CAAC,OAAO,CAAC,GAAG,IAAW;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,iBAAiB,GAAW,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAEhF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzE,CAAC;IAIQ,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,oBAAoB,CAC5B,0CAA0C,EAC1C,wCAAwC,EACxC,QAAQ,EACR,0HAA0H,CAC3H,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,CAAC;YAEpC,OAAO,yBAAyB,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE,QAA6C;aACvD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,wCAAwC,EACxC,QAAQ,EACR,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,sBAAsB,CACjC,YAA+C,EAC/C,MAAe;QAEf,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}