@asgardeo/nextjs 0.1.76 → 0.1.78

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 (111) hide show
  1. package/dist/cjs/server/index.js +4 -6
  2. package/dist/cjs/server/index.js.map +2 -2
  3. package/dist/esm/AsgardeoNextClient.js +23 -22
  4. package/dist/esm/AsgardeoNextClient.js.map +1 -1
  5. package/dist/esm/client/components/actions/SignInButton/SignInButton.js +4 -9
  6. package/dist/esm/client/components/actions/SignInButton/SignInButton.js.map +1 -1
  7. package/dist/esm/client/components/actions/SignOutButton/SignOutButton.js +2 -2
  8. package/dist/esm/client/components/actions/SignOutButton/SignOutButton.js.map +1 -1
  9. package/dist/esm/client/components/actions/SignUpButton/SignUpButton.js +4 -4
  10. package/dist/esm/client/components/actions/SignUpButton/SignUpButton.js.map +1 -1
  11. package/dist/esm/client/components/presentation/Organization/Organization.js.map +1 -1
  12. package/dist/esm/client/components/presentation/OrganizationList/OrganizationList.js +2 -2
  13. package/dist/esm/client/components/presentation/OrganizationList/OrganizationList.js.map +1 -1
  14. package/dist/esm/client/components/presentation/OrganizationProfile/OrganizationProfile.js +10 -9
  15. package/dist/esm/client/components/presentation/OrganizationProfile/OrganizationProfile.js.map +1 -1
  16. package/dist/esm/client/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +6 -5
  17. package/dist/esm/client/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +1 -1
  18. package/dist/esm/client/components/presentation/SignUp/SignUp.js +2 -2
  19. package/dist/esm/client/components/presentation/SignUp/SignUp.js.map +1 -1
  20. package/dist/esm/client/components/presentation/User/User.js +1 -1
  21. package/dist/esm/client/components/presentation/User/User.js.map +1 -1
  22. package/dist/esm/client/components/presentation/UserDropdown/UserDropdown.js +8 -6
  23. package/dist/esm/client/components/presentation/UserDropdown/UserDropdown.js.map +1 -1
  24. package/dist/esm/client/components/presentation/UserProfile/UserProfile.js +0 -2
  25. package/dist/esm/client/components/presentation/UserProfile/UserProfile.js.map +1 -1
  26. package/dist/esm/client/contexts/Asgardeo/AsgardeoContext.js +4 -4
  27. package/dist/esm/client/contexts/Asgardeo/AsgardeoContext.js.map +1 -1
  28. package/dist/esm/client/contexts/Asgardeo/AsgardeoProvider.js +35 -51
  29. package/dist/esm/client/contexts/Asgardeo/AsgardeoProvider.js.map +1 -1
  30. package/dist/esm/client/index.js +0 -1
  31. package/dist/esm/client/index.js.map +1 -1
  32. package/dist/esm/configs/InternalAuthAPIRoutesConfig.js +2 -2
  33. package/dist/esm/configs/InternalAuthAPIRoutesConfig.js.map +1 -1
  34. package/dist/esm/server/AsgardeoProvider.js +10 -8
  35. package/dist/esm/server/AsgardeoProvider.js.map +1 -1
  36. package/dist/esm/server/actions/getAccessToken.js.map +1 -1
  37. package/dist/esm/server/actions/getClientOrigin.js +17 -0
  38. package/dist/esm/server/actions/getClientOrigin.js.map +1 -1
  39. package/dist/esm/server/actions/getCurrentOrganizationAction.js +3 -3
  40. package/dist/esm/server/actions/getCurrentOrganizationAction.js.map +1 -1
  41. package/dist/esm/server/actions/getMyOrganizations.js +1 -0
  42. package/dist/esm/server/actions/getMyOrganizations.js.map +1 -1
  43. package/dist/esm/server/actions/getOrganizationAction.js +2 -2
  44. package/dist/esm/server/actions/getOrganizationAction.js.map +1 -1
  45. package/dist/esm/server/actions/getSessionId.js.map +1 -1
  46. package/dist/esm/server/actions/getSessionPayload.js.map +1 -1
  47. package/dist/esm/server/actions/getUserAction.js +2 -2
  48. package/dist/esm/server/actions/getUserAction.js.map +1 -1
  49. package/dist/esm/server/actions/getUserProfileAction.js +4 -4
  50. package/dist/esm/server/actions/getUserProfileAction.js.map +1 -1
  51. package/dist/esm/server/actions/handleOAuthCallbackAction.js +10 -10
  52. package/dist/esm/server/actions/handleOAuthCallbackAction.js.map +1 -1
  53. package/dist/esm/server/actions/isSignedIn.js +1 -1
  54. package/dist/esm/server/actions/isSignedIn.js.map +1 -1
  55. package/dist/esm/server/actions/signInAction.js +9 -10
  56. package/dist/esm/server/actions/signInAction.js.map +1 -1
  57. package/dist/esm/server/actions/signOutAction.js +14 -4
  58. package/dist/esm/server/actions/signOutAction.js.map +1 -1
  59. package/dist/esm/server/actions/signUpAction.js +9 -11
  60. package/dist/esm/server/actions/signUpAction.js.map +1 -1
  61. package/dist/esm/server/actions/switchOrganization.js +7 -7
  62. package/dist/esm/server/actions/switchOrganization.js.map +1 -1
  63. package/dist/esm/server/actions/updateUserProfileAction.js +2 -2
  64. package/dist/esm/server/actions/updateUserProfileAction.js.map +1 -1
  65. package/dist/esm/server/asgardeo.js +6 -8
  66. package/dist/esm/server/asgardeo.js.map +1 -1
  67. package/dist/esm/server/index.js +2 -3
  68. package/dist/esm/server/index.js.map +1 -1
  69. package/dist/esm/server/middleware/asgardeoMiddleware.js +69 -73
  70. package/dist/esm/server/middleware/asgardeoMiddleware.js.map +1 -1
  71. package/dist/esm/server/middleware/createRouteMatcher.js +3 -3
  72. package/dist/esm/server/middleware/createRouteMatcher.js.map +1 -1
  73. package/dist/esm/utils/SessionManager.js +11 -10
  74. package/dist/esm/utils/SessionManager.js.map +1 -1
  75. package/dist/esm/utils/createRouteMatcher.js +3 -3
  76. package/dist/esm/utils/createRouteMatcher.js.map +1 -1
  77. package/dist/esm/utils/decorateConfigWithNextEnv.js +4 -4
  78. package/dist/esm/utils/decorateConfigWithNextEnv.js.map +1 -1
  79. package/dist/esm/utils/sessionUtils.js +1 -1
  80. package/dist/esm/utils/sessionUtils.js.map +1 -1
  81. package/dist/types/AsgardeoNextClient.d.ts +4 -4
  82. package/dist/types/client/components/actions/SignInButton/SignInButton.d.ts +2 -7
  83. package/dist/types/client/components/actions/SignOutButton/SignOutButton.d.ts +2 -1
  84. package/dist/types/client/components/actions/SignUpButton/SignUpButton.d.ts +1 -1
  85. package/dist/types/client/components/presentation/Organization/Organization.d.ts +1 -1
  86. package/dist/types/client/components/presentation/OrganizationList/OrganizationList.d.ts +1 -1
  87. package/dist/types/client/components/presentation/OrganizationProfile/OrganizationProfile.d.ts +1 -1
  88. package/dist/types/client/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +2 -2
  89. package/dist/types/client/components/presentation/SignUp/SignUp.d.ts +1 -1
  90. package/dist/types/client/components/presentation/User/User.d.ts +1 -1
  91. package/dist/types/client/components/presentation/UserDropdown/UserDropdown.d.ts +1 -1
  92. package/dist/types/client/components/presentation/UserProfile/UserProfile.d.ts +1 -1
  93. package/dist/types/client/index.d.ts +0 -1
  94. package/dist/types/models/api.d.ts +5 -5
  95. package/dist/types/server/actions/getClientOrigin.d.ts +17 -0
  96. package/dist/types/server/actions/getCurrentOrganizationAction.d.ts +3 -10
  97. package/dist/types/server/actions/getOrganizationAction.d.ts +3 -10
  98. package/dist/types/server/actions/getUserAction.d.ts +3 -8
  99. package/dist/types/server/actions/getUserProfileAction.d.ts +1 -11
  100. package/dist/types/server/actions/handleOAuthCallbackAction.d.ts +1 -1
  101. package/dist/types/server/actions/signInAction.d.ts +1 -1
  102. package/dist/types/server/actions/signOutAction.d.ts +1 -1
  103. package/dist/types/server/actions/signUpAction.d.ts +3 -3
  104. package/dist/types/server/actions/updateUserProfileAction.d.ts +1 -1
  105. package/dist/types/server/asgardeo.d.ts +2 -2
  106. package/dist/types/server/index.d.ts +2 -3
  107. package/dist/types/server/middleware/asgardeoMiddleware.d.ts +7 -7
  108. package/dist/types/server/middleware/createRouteMatcher.d.ts +1 -1
  109. package/dist/types/utils/SessionManager.d.ts +16 -16
  110. package/dist/types/utils/createRouteMatcher.d.ts +1 -1
  111. package/package.json +3 -3
@@ -18,8 +18,8 @@
18
18
  'use server';
19
19
  import { cookies } from 'next/headers';
20
20
  import AsgardeoNextClient from '../../AsgardeoNextClient';
21
- import SessionManager from '../../utils/SessionManager';
22
21
  import logger from '../../utils/logger';
22
+ import SessionManager from '../../utils/SessionManager';
23
23
  /**
24
24
  * Server action to handle OAuth callback with authorization code.
25
25
  * This action processes the authorization code received from the OAuth provider
@@ -34,15 +34,15 @@ const handleOAuthCallbackAction = async (code, state, sessionState) => {
34
34
  try {
35
35
  if (!code || !state) {
36
36
  return {
37
- success: false,
38
37
  error: 'Missing required OAuth parameters: code and state are required',
38
+ success: false,
39
39
  };
40
40
  }
41
41
  const asgardeoClient = AsgardeoNextClient.getInstance();
42
42
  if (!asgardeoClient.isInitialized) {
43
43
  return {
44
- success: false,
45
44
  error: 'Asgardeo client is not initialized',
45
+ success: false,
46
46
  };
47
47
  }
48
48
  const cookieStore = await cookies();
@@ -60,8 +60,8 @@ const handleOAuthCallbackAction = async (code, state, sessionState) => {
60
60
  if (!sessionId) {
61
61
  logger.error('[handleOAuthCallbackAction] No session ID found in cookies or temporary session token.');
62
62
  return {
63
- success: false,
64
63
  error: 'No session found. Please start the authentication flow again.',
64
+ success: false,
65
65
  };
66
66
  }
67
67
  // Exchange the authorization code for tokens
@@ -72,11 +72,11 @@ const handleOAuthCallbackAction = async (code, state, sessionState) => {
72
72
  }, {}, sessionId);
73
73
  if (signInResult) {
74
74
  try {
75
- const idToken = await asgardeoClient.getDecodedIdToken(sessionId, signInResult['id_token'] || signInResult['idToken']);
76
- const accessToken = signInResult['accessToken'] || signInResult['access_token'];
77
- const userIdFromToken = idToken.sub || signInResult['sub'] || sessionId;
75
+ const idToken = await asgardeoClient.getDecodedIdToken(sessionId, (signInResult['id_token'] || signInResult['idToken']));
76
+ const accessToken = (signInResult['accessToken'] || signInResult['access_token']);
77
+ const userIdFromToken = (idToken.sub || signInResult['sub'] || sessionId);
78
78
  const scopes = signInResult['scope'];
79
- const organizationId = idToken['user_org'] || idToken['organization_id'];
79
+ const organizationId = (idToken['user_org'] || idToken['organization_id']);
80
80
  const sessionToken = await SessionManager.createSessionToken(accessToken, userIdFromToken, sessionId, scopes, organizationId);
81
81
  cookieStore.set(SessionManager.getSessionCookieName(), sessionToken, SessionManager.getSessionCookieOptions());
82
82
  cookieStore.delete(SessionManager.getTempSessionCookieName());
@@ -89,14 +89,14 @@ const handleOAuthCallbackAction = async (code, state, sessionState) => {
89
89
  const config = await asgardeoClient.getConfiguration();
90
90
  const afterSignInUrl = config.afterSignInUrl || '/';
91
91
  return {
92
- success: true,
93
92
  redirectUrl: afterSignInUrl,
93
+ success: true,
94
94
  };
95
95
  }
96
96
  catch (error) {
97
97
  return {
98
- success: false,
99
98
  error: error instanceof Error ? error.message : 'Authentication failed',
99
+ success: false,
100
100
  };
101
101
  }
102
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handleOAuthCallbackAction.js","sourceRoot":"","sources":["../../../../src/server/actions/handleOAuthCallbackAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleOAuthCallbackAction.js","sourceRoot":"","sources":["../../../../src/server/actions/handleOAuthCallbackAction.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@
16
16
  * under the License.
17
17
  */
18
18
  'use server';
19
- import AsgardeoNextClient from '../../AsgardeoNextClient';
20
19
  import getSessionId from './getSessionId';
21
20
  import getSessionPayload from './getSessionPayload';
21
+ import AsgardeoNextClient from '../../AsgardeoNextClient';
22
22
  /**
23
23
  * Check if the user is currently signed in.
24
24
  * First tries JWT session validation, then falls back to legacy session check.
@@ -1 +1 @@
1
- {"version":3,"file":"isSignedIn.js","sourceRoot":"","sources":["../../../../src/server/actions/isSignedIn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,SAAkB,EAAoB,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEjD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC;YAEnD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;oBACnE,OAAO,CAAC,CAAC,WAAW,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAEnE,OAAO,CAAC,CAAC,WAAW,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"isSignedIn.js","sourceRoot":"","sources":["../../../../src/server/actions/isSignedIn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAG1D;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,SAAkB,EAAoB,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,cAAc,GAAoC,MAAM,iBAAiB,EAAE,CAAC;QAElF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,iBAAiB,GAAW,cAAc,CAAC,SAAS,CAAC;YAE3D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACH,MAAM,WAAW,GAAW,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;oBAC3E,OAAO,CAAC,CAAC,WAAW,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAuB,SAAS,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAEpE,IAAI,CAAC;YACH,MAAM,WAAW,GAAW,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAE3E,OAAO,CAAC,CAAC,WAAW,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -16,8 +16,8 @@
16
16
  * under the License.
17
17
  */
18
18
  'use server';
19
- import { cookies } from 'next/headers';
20
19
  import { generateSessionId, EmbeddedSignInFlowStatus, isEmpty, } from '@asgardeo/node';
20
+ import { cookies } from 'next/headers';
21
21
  import AsgardeoNextClient from '../../AsgardeoNextClient';
22
22
  import SessionManager from '../../utils/SessionManager';
23
23
  /**
@@ -33,13 +33,11 @@ const signInAction = async (payload, request) => {
33
33
  const client = AsgardeoNextClient.getInstance();
34
34
  const cookieStore = await cookies();
35
35
  let sessionId;
36
- let userId;
37
36
  const existingSessionToken = cookieStore.get(SessionManager.getSessionCookieName())?.value;
38
37
  if (existingSessionToken) {
39
38
  try {
40
39
  const sessionPayload = await SessionManager.verifySessionToken(existingSessionToken);
41
40
  sessionId = sessionPayload.sessionId;
42
- userId = sessionPayload.sub;
43
41
  }
44
42
  catch {
45
43
  // Invalid session token, will create new temp session
@@ -65,7 +63,7 @@ const signInAction = async (payload, request) => {
65
63
  // If no payload provided, redirect to sign-in URL for redirect-based sign-in.
66
64
  if (!payload || isEmpty(payload)) {
67
65
  const defaultSignInUrl = await client.getAuthorizeRequestUrl({}, sessionId);
68
- return { success: true, data: { signInUrl: String(defaultSignInUrl) } };
66
+ return { data: { signInUrl: String(defaultSignInUrl) }, success: true };
69
67
  }
70
68
  // Handle embedded sign-in flow
71
69
  const response = await client.signIn(payload, request, sessionId);
@@ -77,22 +75,23 @@ const signInAction = async (payload, request) => {
77
75
  }, {}, sessionId);
78
76
  if (signInResult) {
79
77
  const idToken = await client.getDecodedIdToken(sessionId);
80
- const userIdFromToken = idToken['sub'] || signInResult['sub'] || sessionId;
81
- const accessToken = signInResult['accessToken'];
78
+ const userIdFromToken = (idToken['sub'] || signInResult['sub'] || sessionId);
79
+ const { accessToken } = signInResult;
82
80
  const scopes = signInResult['scope'];
83
- const organizationId = idToken['user_org'] || idToken['organization_id'];
81
+ const organizationId = (idToken['user_org'] || idToken['organization_id']);
84
82
  const sessionToken = await SessionManager.createSessionToken(accessToken, userIdFromToken, sessionId, scopes, organizationId);
85
83
  cookieStore.set(SessionManager.getSessionCookieName(), sessionToken, SessionManager.getSessionCookieOptions());
86
84
  cookieStore.delete(SessionManager.getTempSessionCookieName());
87
85
  }
88
86
  const afterSignInUrl = await (await client.getStorageManager()).getConfigDataParameter('afterSignInUrl');
89
- return { success: true, data: { afterSignInUrl: String(afterSignInUrl) } };
87
+ return { data: { afterSignInUrl: String(afterSignInUrl) }, success: true };
90
88
  }
91
- return { success: true, data: response };
89
+ return { data: response, success: true };
92
90
  }
93
91
  catch (error) {
92
+ // eslint-disable-next-line no-console
94
93
  console.error('[signInAction] Error during sign-in:', error);
95
- return { success: false, error: String(error) };
94
+ return { error: String(error), success: false };
96
95
  }
97
96
  };
98
97
  export default signInAction;
@@ -1 +1 @@
1
- {"version":3,"file":"signInAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signInAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signInAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signInAction.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@
17
17
  */
18
18
  'use server';
19
19
  import { cookies } from 'next/headers';
20
- import AsgardeoNextClient from '../../AsgardeoNextClient';
21
- import SessionManager from '../../utils/SessionManager';
22
20
  import getSessionId from './getSessionId';
21
+ import AsgardeoNextClient from '../../AsgardeoNextClient';
23
22
  import logger from '../../utils/logger';
23
+ import SessionManager from '../../utils/SessionManager';
24
24
  /**
25
25
  * Server action for signing out a user.
26
26
  * Clears both JWT and legacy session cookies.
@@ -43,15 +43,25 @@ const signOutAction = async () => {
43
43
  afterSignOutUrl = await client.signOut({}, sessionId);
44
44
  }
45
45
  await clearSessionCookies();
46
- return { success: true, data: { afterSignOutUrl } };
46
+ return { data: { afterSignOutUrl }, success: true };
47
47
  }
48
48
  catch (error) {
49
49
  logger.error('[signOutAction] Error during sign out from the server action:', error);
50
50
  logger.debug('[signOutAction] Clearing session cookies due to error as a fallback.');
51
51
  await clearSessionCookies();
52
+ let errorMessage;
53
+ if (typeof error === 'string') {
54
+ errorMessage = error;
55
+ }
56
+ else if (error instanceof Error) {
57
+ errorMessage = error.message;
58
+ }
59
+ else {
60
+ errorMessage = JSON.stringify(error);
61
+ }
52
62
  return {
63
+ error: errorMessage,
53
64
  success: false,
54
- error: typeof error === 'string' ? error : error instanceof Error ? error.message : JSON.stringify(error),
55
65
  };
56
66
  }
57
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signOutAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signOutAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC;;;;;GAKG;AACH,MAAM,aAAa,GAAG,KAAK,IAAqF,EAAE;IAChH,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAEpF,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;QAEpC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC1D,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;QAEvC,IAAI,eAAe,GAAW,GAAG,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAE1G,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,mBAAmB,EAAE,CAAC;QAE5B,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,eAAe,EAAC,EAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;QAErF,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAErF,MAAM,mBAAmB,EAAE,CAAC;QAE5B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC1G,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"signOutAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signOutAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAGb,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,KAAK,IAAqF,EAAE;IAChH,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAEpF,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;QACpD,MAAM,WAAW,GAA2B,MAAM,OAAO,EAAE,CAAC;QAE5D,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC1D,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,SAAS,GAAuB,MAAM,YAAY,EAAE,CAAC;QAE3D,IAAI,eAAe,GAAW,GAAG,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAE1G,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,mBAAmB,EAAE,CAAC;QAE5B,OAAO,EAAC,IAAI,EAAE,EAAC,eAAe,EAAC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;QAErF,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAErF,MAAM,mBAAmB,EAAE,CAAC;QAE5B,IAAI,YAAqB,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAClC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * under the License.
17
17
  */
18
18
  'use server';
19
- import { EmbeddedFlowStatus, } from '@asgardeo/node';
19
+ import { EmbeddedFlowStatus } from '@asgardeo/node';
20
20
  import AsgardeoNextClient from '../../AsgardeoNextClient';
21
21
  /**
22
22
  * Server action for signing in a user.
@@ -26,26 +26,24 @@ import AsgardeoNextClient from '../../AsgardeoNextClient';
26
26
  * @param request - The embedded flow execute request config
27
27
  * @returns Promise that resolves when sign-in is complete
28
28
  */
29
- const signUpAction = async (payload, request) => {
29
+ const signUpAction = async (payload) => {
30
30
  try {
31
31
  const client = AsgardeoNextClient.getInstance();
32
32
  // If no payload provided, redirect to sign-in URL for redirect-based sign-in.
33
33
  // If there's a payload, handle the embedded sign-in flow.
34
34
  if (!payload) {
35
35
  const defaultSignUpUrl = '';
36
- return { success: true, data: { signUpUrl: String(defaultSignUpUrl) } };
36
+ return { data: { signUpUrl: String(defaultSignUpUrl) }, success: true };
37
37
  }
38
- else {
39
- const response = await client.signUp(payload);
40
- if (response.flowStatus === EmbeddedFlowStatus.Complete) {
41
- const afterSignUpUrl = await (await client.getStorageManager()).getConfigDataParameter('afterSignInUrl');
42
- return { success: true, data: { afterSignUpUrl: String(afterSignUpUrl) } };
43
- }
44
- return { success: true, data: response };
38
+ const response = await client.signUp(payload);
39
+ if (response.flowStatus === EmbeddedFlowStatus.Complete) {
40
+ const afterSignUpUrl = await (await client.getStorageManager()).getConfigDataParameter('afterSignInUrl');
41
+ return { data: { afterSignUpUrl: String(afterSignUpUrl) }, success: true };
45
42
  }
43
+ return { data: response, success: true };
46
44
  }
47
45
  catch (error) {
48
- return { success: false, error: String(error) };
46
+ return { error: String(error), success: false };
49
47
  }
50
48
  };
51
49
  export default signUpAction;
@@ -1 +1 @@
1
- {"version":3,"file":"signUpAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signUpAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,EAIL,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,KAAK,EACxB,OAA2C,EAC3C,OAA0C,EAUzC,EAAE;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAEhD,8EAA8E;QAC9E,0DAA0D;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,EAAE,CAAC;YAE5B,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAC,EAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC,UAAU,KAAK,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBACxD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;gBAEzG,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,EAAC,EAAC,CAAC;YACzE,CAAC;YAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAuC,EAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"signUpAction.js","sourceRoot":"","sources":["../../../../src/server/actions/signUpAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAiE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClH,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,KAAK,EACxB,OAA2C,EAU1C,EAAE;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAEpE,8EAA8E;QAC9E,0DAA0D;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAW,EAAE,CAAC;YAEpC,OAAO,EAAC,IAAI,EAAE,EAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;QACtE,CAAC;QACD,MAAM,QAAQ,GAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,UAAU,KAAK,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,cAAc,GAAW,MAAM,CAAC,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAEjH,OAAO,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,EAAC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;QACzE,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,QAAuC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -17,11 +17,11 @@
17
17
  */
18
18
  'use server';
19
19
  import { AsgardeoAPIError } from '@asgardeo/node';
20
+ import { cookies } from 'next/headers';
20
21
  import getSessionId from './getSessionId';
21
22
  import AsgardeoNextClient from '../../AsgardeoNextClient';
22
23
  import logger from '../../utils/logger';
23
24
  import SessionManager from '../../utils/SessionManager';
24
- import { cookies } from 'next/headers';
25
25
  /**
26
26
  * Server action to switch organization.
27
27
  */
@@ -29,20 +29,20 @@ const switchOrganization = async (organization, sessionId) => {
29
29
  try {
30
30
  const cookieStore = await cookies();
31
31
  const client = AsgardeoNextClient.getInstance();
32
- const _sessionId = sessionId ?? (await getSessionId());
33
- const response = await client.switchOrganization(organization, _sessionId);
32
+ const resolvedSessionId = sessionId ?? (await getSessionId());
33
+ const response = await client.switchOrganization(organization, resolvedSessionId);
34
34
  // After switching organization, we need to refresh the page to get updated session data
35
35
  // This is because server components don't maintain state between function calls
36
36
  const { revalidatePath } = await import('next/cache');
37
37
  // Revalidate the current path to refresh the component with new data
38
38
  revalidatePath('/');
39
39
  if (response) {
40
- const idToken = await client.getDecodedIdToken(_sessionId, response.idToken);
40
+ const idToken = await client.getDecodedIdToken(resolvedSessionId, response.idToken);
41
41
  const userIdFromToken = idToken['sub'];
42
- const accessToken = response.accessToken;
42
+ const { accessToken } = response;
43
43
  const scopes = response.scope;
44
- const organizationId = idToken['user_org'] || idToken['organization_id'];
45
- const sessionToken = await SessionManager.createSessionToken(accessToken, userIdFromToken, _sessionId, scopes, organizationId);
44
+ const organizationId = (idToken['user_org'] || idToken['organization_id']);
45
+ const sessionToken = await SessionManager.createSessionToken(accessToken, userIdFromToken, resolvedSessionId, scopes, organizationId);
46
46
  logger.debug('[switchOrganization] Session token created successfully.');
47
47
  cookieStore.set(SessionManager.getSessionCookieName(), sessionToken, SessionManager.getSessionCookieOptions());
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"switchOrganization.js","sourceRoot":"","sources":["../../../../src/server/actions/switchOrganization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAe,gBAAgB,EAAgB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAC9B,YAA0B,EAC1B,SAA6B,EACM,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,UAAU,GAAW,SAAS,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAC3E,MAAM,QAAQ,GAA6B,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAErG,wFAAwF;QACxF,gFAAgF;QAChF,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,qEAAqE;QACrE,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAG,QAA0B,CAAC,OAAO,CAAC,CAAC;YAChG,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,WAAW,GAAI,QAA0B,CAAC,WAAW,CAAC;YAC5D,MAAM,MAAM,GAAI,QAA0B,CAAC,KAAK,CAAC;YACjD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAC1D,WAAW,EACX,eAAyB,EACzB,UAAoB,EACpB,MAAM,EACN,cAAc,CACf,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAEzE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAC/G,0CAA0C,EAC1C,QAAQ,EACR,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"switchOrganization.js","sourceRoot":"","sources":["../../../../src/server/actions/switchOrganization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAEb,OAAO,EAAe,gBAAgB,EAAyB,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAC9B,YAA0B,EAC1B,SAA6B,EACM,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,WAAW,GAA2B,MAAM,OAAO,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,iBAAiB,GAAW,SAAS,IAAK,CAAC,MAAM,YAAY,EAAE,CAAY,CAAC;QAClF,MAAM,QAAQ,GAA6B,MAAM,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAE5G,wFAAwF;QACxF,gFAAgF;QAChF,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,qEAAqE;QACrE,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAY,MAAM,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAG,QAA0B,CAAC,OAAO,CAAC,CAAC;YAChH,MAAM,eAAe,GAAW,OAAO,CAAC,KAAK,CAAW,CAAC;YACzD,MAAM,EAAC,WAAW,EAAC,GAA0B,QAAyB,CAAC;YACvE,MAAM,MAAM,GAAY,QAA0B,CAAC,KAAK,CAAC;YACzD,MAAM,cAAc,GAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAEhF,CAAC;YAEd,MAAM,YAAY,GAAW,MAAM,cAAc,CAAC,kBAAkB,CAClE,WAAW,EACX,eAAyB,EACzB,iBAA2B,EAC3B,MAAM,EACN,cAAc,CACf,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAEzE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CACxB,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAC/G,0CAA0C,EAC1C,QAAQ,EACR,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -25,15 +25,15 @@ const updateUserProfileAction = async (payload, sessionId) => {
25
25
  try {
26
26
  const client = AsgardeoNextClient.getInstance();
27
27
  const user = await client.updateUserProfile(payload, sessionId);
28
- return { success: true, data: { user }, error: "" };
28
+ return { data: { user }, error: '', success: true };
29
29
  }
30
30
  catch (error) {
31
31
  return {
32
- success: false,
33
32
  data: {
34
33
  user: {},
35
34
  },
36
35
  error: `Failed to get user profile: ${error instanceof Error ? error.message : String(error)}`,
36
+ success: false,
37
37
  };
38
38
  }
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"updateUserProfileAction.js","sourceRoot":"","sources":["../../../../src/server/actions/updateUserProfileAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAGb,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,MAAM,uBAAuB,GAAG,KAAK,EACnC,OAA8B,EAC9B,SAAkB,EAC8C,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,GAAS,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtE,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE;aACT;YACD,KAAK,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC/F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"updateUserProfileAction.js","sourceRoot":"","sources":["../../../../src/server/actions/updateUserProfileAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,YAAY,CAAC;AAGb,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,MAAM,uBAAuB,GAAG,KAAK,EACnC,OAA8B,EAC9B,SAAkB,EAC8C,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,IAAI,GAAS,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtE,OAAO,EAAC,IAAI,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE;aACT;YACD,KAAK,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9F,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -15,28 +15,26 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import AsgardeoNextClient from '../AsgardeoNextClient';
19
18
  import getSessionIdAction from './actions/getSessionId';
19
+ import AsgardeoNextClient from '../AsgardeoNextClient';
20
20
  const asgardeo = async () => {
21
21
  const getAccessToken = async (sessionId) => {
22
22
  const client = AsgardeoNextClient.getInstance();
23
- return await client.getAccessToken(sessionId);
24
- };
25
- const getSessionId = async () => {
26
- return await getSessionIdAction();
23
+ return client.getAccessToken(sessionId);
27
24
  };
25
+ const getSessionId = async () => getSessionIdAction();
28
26
  const exchangeToken = async (config, sessionId) => {
29
27
  const client = AsgardeoNextClient.getInstance();
30
- return await client.exchangeToken(config, sessionId);
28
+ return client.exchangeToken(config, sessionId);
31
29
  };
32
30
  const reInitialize = async (config) => {
33
31
  const client = AsgardeoNextClient.getInstance();
34
- return await client.reInitialize(config);
32
+ return client.reInitialize(config);
35
33
  };
36
34
  return {
35
+ exchangeToken,
37
36
  getAccessToken,
38
37
  getSessionId,
39
- exchangeToken,
40
38
  reInitialize,
41
39
  };
42
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"asgardeo.js","sourceRoot":"","sources":["../../../src/server/asgardeo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AAGxD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;QACjD,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,OAAO,MAAM,kBAAkB,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAkC,EAAE,SAAiB,EAAE,EAAE;QACpF,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAmC,EAAE,EAAE;QACjE,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,YAAY;QACZ,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"asgardeo.js","sourceRoot":"","sources":["../../../src/server/asgardeo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAGvD,MAAM,QAAQ,GAAG,KAAK,IAKnB,EAAE;IACH,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;QAClE,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAiC,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAEnF,MAAM,aAAa,GAAG,KAAK,EACzB,MAAkC,EAClC,SAAiB,EACkB,EAAE;QACrC,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAmC,EAAoB,EAAE;QACnF,MAAM,MAAM,GAAuB,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO;QACL,aAAa;QACb,cAAc;QACd,YAAY;QACZ,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -17,10 +17,9 @@
17
17
  */
18
18
  // @asgardeo/nextjs/server exports.
19
19
  export { default as asgardeo } from './asgardeo';
20
- export { default as AsgardeoProvider } from './AsgardeoProvider';
21
- export * from './AsgardeoProvider';
20
+ export { default as AsgardeoProvider } from './AsgardeoProvider.js';
21
+ export * from './AsgardeoProvider.js';
22
22
  export { default as asgardeoMiddleware } from './middleware/asgardeoMiddleware';
23
23
  export * from './middleware/asgardeoMiddleware';
24
24
  export { default as createRouteMatcher } from './middleware/createRouteMatcher';
25
- export * from './middleware/createRouteMatcher';
26
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mCAAmC;AAEnC,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9E,cAAc,iCAAiC,CAAC;AAEhD,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9E,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mCAAmC;AAEnC,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9E,cAAc,iCAAiC,CAAC;AAEhD,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,iCAAiC,CAAC"}
@@ -39,9 +39,7 @@ const hasValidSession = async (request) => {
39
39
  * @param request - The Next.js request object
40
40
  * @returns The session ID if it exists, undefined otherwise
41
41
  */
42
- const getSessionIdFromRequestMiddleware = async (request) => {
43
- return await getSessionIdFromRequest(request);
44
- };
42
+ const getSessionIdFromRequestMiddleware = async (request) => getSessionIdFromRequest(request);
45
43
  /**
46
44
  * Asgardeo middleware that integrates authentication into your Next.js application.
47
45
  * Similar to Clerk's clerkMiddleware pattern.
@@ -98,84 +96,82 @@ const getSessionIdFromRequestMiddleware = async (request) => {
98
96
  * });
99
97
  * ```
100
98
  */
101
- const asgardeoMiddleware = (handler, options) => {
102
- return async (request) => {
103
- const resolvedOptions = typeof options === 'function' ? options(request) : options || {};
104
- const url = new URL(request.url);
105
- const hasCallbackParams = url.searchParams.has('code') && url.searchParams.has('state');
106
- let isValidOAuthCallback = false;
107
- if (hasCallbackParams) {
108
- // OAuth callbacks should not contain error parameters that indicate failed auth
109
- const hasError = url.searchParams.has('error');
110
- if (!hasError) {
111
- // Validate that there's a temporary session that initiated this OAuth flow
112
- const tempSessionToken = request.cookies.get(SessionManager.getTempSessionCookieName())?.value;
113
- if (tempSessionToken) {
114
- try {
115
- // Verify the temporary session exists and is valid
116
- await SessionManager.verifyTempSession(tempSessionToken);
117
- isValidOAuthCallback = true;
118
- }
119
- catch {
120
- // Invalid temp session - this is not a legitimate OAuth callback
121
- isValidOAuthCallback = false;
122
- }
99
+ const asgardeoMiddleware = (handler, options) => async (request) => {
100
+ const resolvedOptions = typeof options === 'function' ? options(request) : options || {};
101
+ const url = new URL(request.url);
102
+ const hasCallbackParams = url.searchParams.has('code') && url.searchParams.has('state');
103
+ let isValidOAuthCallback = false;
104
+ if (hasCallbackParams) {
105
+ // OAuth callbacks should not contain error parameters that indicate failed auth
106
+ const hasError = url.searchParams.has('error');
107
+ if (!hasError) {
108
+ // Validate that there's a temporary session that initiated this OAuth flow
109
+ const tempSessionToken = request.cookies.get(SessionManager.getTempSessionCookieName())?.value;
110
+ if (tempSessionToken) {
111
+ try {
112
+ // Verify the temporary session exists and is valid
113
+ await SessionManager.verifyTempSession(tempSessionToken);
114
+ isValidOAuthCallback = true;
115
+ }
116
+ catch {
117
+ // Invalid temp session - this is not a legitimate OAuth callback
118
+ isValidOAuthCallback = false;
123
119
  }
124
120
  }
125
121
  }
126
- const sessionId = await getSessionIdFromRequestMiddleware(request);
127
- const isAuthenticated = await hasValidSession(request);
128
- const asgardeo = {
129
- protectRoute: async (options) => {
130
- // Skip protection if this is a validated OAuth callback - let the callback handler process it first
131
- // This prevents race conditions where middleware redirects before OAuth callback completes
132
- if (isValidOAuthCallback) {
133
- return;
134
- }
135
- if (!isAuthenticated) {
136
- const referer = request.headers.get('referer');
137
- // TODO: Make this configurable or call the signIn() from here.
138
- let fallbackRedirect = '/';
139
- // If referer exists and is from the same origin, use it as fallback
140
- if (referer) {
141
- try {
142
- const refererUrl = new URL(referer);
143
- const requestUrl = new URL(request.url);
144
- if (refererUrl.origin === requestUrl.origin) {
145
- fallbackRedirect = refererUrl.pathname + refererUrl.search;
146
- }
147
- }
148
- catch (error) {
149
- // Invalid referer URL, ignore it
122
+ }
123
+ const sessionId = await getSessionIdFromRequestMiddleware(request);
124
+ const isAuthenticated = await hasValidSession(request);
125
+ const asgardeo = {
126
+ getSession: async () => {
127
+ try {
128
+ return await getSessionFromRequest(request);
129
+ }
130
+ catch {
131
+ return undefined;
132
+ }
133
+ },
134
+ getSessionId: () => sessionId,
135
+ isSignedIn: () => isAuthenticated,
136
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
137
+ protectRoute: async (routeOptions) => {
138
+ // Skip protection if this is a validated OAuth callback - let the callback handler process it first
139
+ // This prevents race conditions where middleware redirects before OAuth callback completes
140
+ if (isValidOAuthCallback) {
141
+ return undefined;
142
+ }
143
+ if (!isAuthenticated) {
144
+ const referer = request.headers.get('referer');
145
+ // TODO: Make this configurable or call the signIn() from here.
146
+ let fallbackRedirect = '/';
147
+ // If referer exists and is from the same origin, use it as fallback
148
+ if (referer) {
149
+ try {
150
+ const refererUrl = new URL(referer);
151
+ const requestUrl = new URL(request.url);
152
+ if (refererUrl.origin === requestUrl.origin) {
153
+ fallbackRedirect = refererUrl.pathname + refererUrl.search;
150
154
  }
151
155
  }
152
- // Fallback chain: options.redirect -> resolvedOptions.signInUrl -> resolvedOptions.defaultRedirect -> referer (same origin only)
153
- const redirectUrl = resolvedOptions?.signInUrl || fallbackRedirect;
154
- const signInUrl = new URL(redirectUrl, request.url);
155
- return NextResponse.redirect(signInUrl);
156
- }
157
- // Session exists, allow access
158
- return;
159
- },
160
- isSignedIn: () => isAuthenticated,
161
- getSessionId: () => sessionId,
162
- getSession: async () => {
163
- try {
164
- return await getSessionFromRequest(request);
165
- }
166
- catch {
167
- return undefined;
156
+ catch (error) {
157
+ // Invalid referer URL, ignore it
158
+ }
168
159
  }
169
- },
170
- };
171
- if (handler) {
172
- const result = await handler(asgardeo, request);
173
- if (result) {
174
- return result;
160
+ // Fallback chain: options.redirect -> resolvedOptions.signInUrl -> resolvedOptions.defaultRedirect -> referer (same origin only)
161
+ const redirectUrl = resolvedOptions?.signInUrl || fallbackRedirect;
162
+ const signInUrl = new URL(redirectUrl, request.url);
163
+ return NextResponse.redirect(signInUrl);
175
164
  }
176
- }
177
- return NextResponse.next();
165
+ return undefined;
166
+ },
178
167
  };
168
+ if (handler) {
169
+ const result = await handler(asgardeo, request);
170
+ if (result) {
171
+ return result;
172
+ }
173
+ }
174
+ return NextResponse.next();
179
175
  };
180
176
  export default asgardeoMiddleware;
181
177
  //# sourceMappingURL=asgardeoMiddleware.js.map