@greatapps/common 1.1.147 → 1.1.149
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.
|
@@ -5,7 +5,19 @@ import { authService } from "../services/auth.service";
|
|
|
5
5
|
import { getClientInfoFromRequest } from "../../../infra/utils/client-info";
|
|
6
6
|
async function redirectToLogin() {
|
|
7
7
|
const h = await headers();
|
|
8
|
-
const referer = h.get("referer")
|
|
8
|
+
const referer = h.get("referer");
|
|
9
|
+
const gappsUrl = process.env.NEXT_PUBLIC_GREAT_APPS;
|
|
10
|
+
if (gappsUrl) {
|
|
11
|
+
const loginUrl2 = new URL(`${gappsUrl.replace(/\/$/, "")}/login`);
|
|
12
|
+
if (referer) {
|
|
13
|
+
const refererUrl = new URL(referer);
|
|
14
|
+
if (!["/login", "/register", "/forgot-password"].includes(refererUrl.pathname)) {
|
|
15
|
+
loginUrl2.searchParams.set("redirect", referer);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
redirect(loginUrl2.toString());
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
9
21
|
if (!referer) {
|
|
10
22
|
redirect("/login");
|
|
11
23
|
return;
|
|
@@ -14,7 +26,9 @@ async function redirectToLogin() {
|
|
|
14
26
|
if (["/login", "/register", "/forgot-password"].includes(url.pathname)) {
|
|
15
27
|
return;
|
|
16
28
|
}
|
|
17
|
-
|
|
29
|
+
const loginUrl = new URL("/login", url.origin);
|
|
30
|
+
loginUrl.searchParams.set("redirect", url.pathname + url.search);
|
|
31
|
+
redirect(loginUrl.toString());
|
|
18
32
|
}
|
|
19
33
|
async function validateSessionAction() {
|
|
20
34
|
if (process.env.DUMMY_AUTH_TOKEN) return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/modules/auth/actions/validate-session.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { redirect } from 'next/navigation';\r\nimport { cookies, headers } from 'next/headers';\r\nimport { authService } from '../services/auth.service';\r\nimport { getClientInfoFromRequest } from '../../../infra/utils/client-info';\r\n\r\nasync function redirectToLogin() {\r\n const h = await headers();\r\n const referer = h.get('referer')
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/auth/actions/validate-session.action.ts"],"sourcesContent":["'use server';\r\n\r\nimport { redirect } from 'next/navigation';\r\nimport { cookies, headers } from 'next/headers';\r\nimport { authService } from '../services/auth.service';\r\nimport { getClientInfoFromRequest } from '../../../infra/utils/client-info';\r\n\r\nasync function redirectToLogin() {\r\n const h = await headers();\r\n const referer = h.get('referer');\r\n const gappsUrl = process.env.NEXT_PUBLIC_GREAT_APPS;\r\n\r\n if (gappsUrl) {\r\n const loginUrl = new URL(`${gappsUrl.replace(/\\/$/, '')}/login`);\r\n if (referer) {\r\n const refererUrl = new URL(referer);\r\n if (!['/login', '/register', '/forgot-password'].includes(refererUrl.pathname)) {\r\n loginUrl.searchParams.set('redirect', referer);\r\n }\r\n }\r\n redirect(loginUrl.toString());\r\n return;\r\n }\r\n\r\n if (!referer) {\r\n redirect('/login');\r\n return;\r\n }\r\n\r\n const url = new URL(referer);\r\n\r\n if (['/login', '/register', '/forgot-password'].includes(url.pathname)) {\r\n return;\r\n }\r\n\r\n const loginUrl = new URL('/login', url.origin);\r\n loginUrl.searchParams.set('redirect', url.pathname + url.search);\r\n redirect(loginUrl.toString());\r\n}\r\n\r\nexport async function validateSessionAction(): Promise<boolean> {\r\n if (process.env.DUMMY_AUTH_TOKEN) return true;\r\n\r\n const cookieStore = await cookies();\r\n const cookie = cookieStore.get('greatapps')?.value;\r\n\r\n if (!cookie) {\r\n await redirectToLogin();\r\n return false;\r\n }\r\n\r\n try {\r\n const clientInfo = await getClientInfoFromRequest();\r\n const isValid = await authService.validateSession(clientInfo);\r\n\r\n if (!isValid) {\r\n await authService.removeAuthCookie();\r\n await redirectToLogin();\r\n return false;\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('[validateSessionAction] Error:', error);\r\n await authService.removeAuthCookie();\r\n await redirectToLogin();\r\n return false;\r\n }\r\n}\r\n"],"mappings":";AAEA,SAAS,gBAAgB;AACzB,SAAS,SAAS,eAAe;AACjC,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AAEzC,eAAe,kBAAkB;AAC/B,QAAM,IAAI,MAAM,QAAQ;AACxB,QAAM,UAAU,EAAE,IAAI,SAAS;AAC/B,QAAM,WAAW,QAAQ,IAAI;AAE7B,MAAI,UAAU;AACZ,UAAMA,YAAW,IAAI,IAAI,GAAG,SAAS,QAAQ,OAAO,EAAE,CAAC,QAAQ;AAC/D,QAAI,SAAS;AACX,YAAM,aAAa,IAAI,IAAI,OAAO;AAClC,UAAI,CAAC,CAAC,UAAU,aAAa,kBAAkB,EAAE,SAAS,WAAW,QAAQ,GAAG;AAC9E,QAAAA,UAAS,aAAa,IAAI,YAAY,OAAO;AAAA,MAC/C;AAAA,IACF;AACA,aAASA,UAAS,SAAS,CAAC;AAC5B;AAAA,EACF;AAEA,MAAI,CAAC,SAAS;AACZ,aAAS,QAAQ;AACjB;AAAA,EACF;AAEA,QAAM,MAAM,IAAI,IAAI,OAAO;AAE3B,MAAI,CAAC,UAAU,aAAa,kBAAkB,EAAE,SAAS,IAAI,QAAQ,GAAG;AACtE;AAAA,EACF;AAEA,QAAM,WAAW,IAAI,IAAI,UAAU,IAAI,MAAM;AAC7C,WAAS,aAAa,IAAI,YAAY,IAAI,WAAW,IAAI,MAAM;AAC/D,WAAS,SAAS,SAAS,CAAC;AAC9B;AAEA,eAAsB,wBAA0C;AAC9D,MAAI,QAAQ,IAAI,iBAAkB,QAAO;AAEzC,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,SAAS,YAAY,IAAI,WAAW,GAAG;AAE7C,MAAI,CAAC,QAAQ;AACX,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,aAAa,MAAM,yBAAyB;AAClD,UAAM,UAAU,MAAM,YAAY,gBAAgB,UAAU;AAE5D,QAAI,CAAC,SAAS;AACZ,YAAM,YAAY,iBAAiB;AACnC,YAAM,gBAAgB;AACtB,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,MAAM,kCAAkC,KAAK;AACrD,UAAM,YAAY,iBAAiB;AACnC,UAAM,gBAAgB;AACtB,WAAO;AAAA,EACT;AACF;","names":["loginUrl"]}
|
package/package.json
CHANGED
|
@@ -7,7 +7,20 @@ import { getClientInfoFromRequest } from '../../../infra/utils/client-info';
|
|
|
7
7
|
|
|
8
8
|
async function redirectToLogin() {
|
|
9
9
|
const h = await headers();
|
|
10
|
-
const referer = h.get('referer')
|
|
10
|
+
const referer = h.get('referer');
|
|
11
|
+
const gappsUrl = process.env.NEXT_PUBLIC_GREAT_APPS;
|
|
12
|
+
|
|
13
|
+
if (gappsUrl) {
|
|
14
|
+
const loginUrl = new URL(`${gappsUrl.replace(/\/$/, '')}/login`);
|
|
15
|
+
if (referer) {
|
|
16
|
+
const refererUrl = new URL(referer);
|
|
17
|
+
if (!['/login', '/register', '/forgot-password'].includes(refererUrl.pathname)) {
|
|
18
|
+
loginUrl.searchParams.set('redirect', referer);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
redirect(loginUrl.toString());
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
11
24
|
|
|
12
25
|
if (!referer) {
|
|
13
26
|
redirect('/login');
|
|
@@ -20,7 +33,9 @@ async function redirectToLogin() {
|
|
|
20
33
|
return;
|
|
21
34
|
}
|
|
22
35
|
|
|
23
|
-
|
|
36
|
+
const loginUrl = new URL('/login', url.origin);
|
|
37
|
+
loginUrl.searchParams.set('redirect', url.pathname + url.search);
|
|
38
|
+
redirect(loginUrl.toString());
|
|
24
39
|
}
|
|
25
40
|
|
|
26
41
|
export async function validateSessionAction(): Promise<boolean> {
|