@sonicjs-cms/core 2.16.1 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-D9L3mrC-.d.cts → app-C9esKLmh.d.cts} +2 -0
- package/dist/{app-D9L3mrC-.d.ts → app-C9esKLmh.d.ts} +2 -0
- package/dist/{chunk-U6FOL6EO.cjs → chunk-4HCUJ3MG.cjs} +34 -6
- package/dist/chunk-4HCUJ3MG.cjs.map +1 -0
- package/dist/{chunk-JF5RQXPN.js → chunk-6F57Z6SD.js} +3 -3
- package/dist/{chunk-JF5RQXPN.js.map → chunk-6F57Z6SD.js.map} +1 -1
- package/dist/{chunk-W33MHOPA.js → chunk-FDXNIZ6N.js} +34 -6
- package/dist/chunk-FDXNIZ6N.js.map +1 -0
- package/dist/{chunk-HU4MN74Q.cjs → chunk-FSWP4FBW.cjs} +2 -2
- package/dist/{chunk-HU4MN74Q.cjs.map → chunk-FSWP4FBW.cjs.map} +1 -1
- package/dist/{chunk-MZS33LLH.cjs → chunk-J5MYHM6Z.cjs} +352 -176
- package/dist/chunk-J5MYHM6Z.cjs.map +1 -0
- package/dist/{chunk-BAMJVG33.js → chunk-LZJLWW7E.js} +227 -51
- package/dist/chunk-LZJLWW7E.js.map +1 -0
- package/dist/{chunk-PUZMLXOJ.js → chunk-NMJT6BJR.js} +2 -2
- package/dist/{chunk-PUZMLXOJ.js.map → chunk-NMJT6BJR.js.map} +1 -1
- package/dist/{chunk-V76ERLX6.cjs → chunk-QBLBIAVZ.cjs} +3 -3
- package/dist/{chunk-V76ERLX6.cjs.map → chunk-QBLBIAVZ.cjs.map} +1 -1
- package/dist/{chunk-TBJY2FF7.js → chunk-QFWHAFEO.js} +22 -2
- package/dist/chunk-QFWHAFEO.js.map +1 -0
- package/dist/{chunk-7HHIZQNE.cjs → chunk-RE3NVA23.cjs} +155 -17
- package/dist/chunk-RE3NVA23.cjs.map +1 -0
- package/dist/{chunk-KYAF33AF.js → chunk-S7K4FRJ2.js} +149 -14
- package/dist/chunk-S7K4FRJ2.js.map +1 -0
- package/dist/{chunk-NZWFCUDA.cjs → chunk-WAEQXGCX.cjs} +22 -2
- package/dist/chunk-WAEQXGCX.cjs.map +1 -0
- package/dist/index.cjs +194 -186
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +30 -22
- package/dist/index.js.map +1 -1
- package/dist/middleware.cjs +41 -29
- package/dist/middleware.d.cts +38 -4
- package/dist/middleware.d.ts +38 -4
- package/dist/middleware.js +3 -3
- package/dist/migrations-HQI62CAO.js +4 -0
- package/dist/{migrations-WCEBO5QQ.js.map → migrations-HQI62CAO.js.map} +1 -1
- package/dist/migrations-ZYPYVSXI.cjs +13 -0
- package/dist/{migrations-MYQI2KAJ.cjs.map → migrations-ZYPYVSXI.cjs.map} +1 -1
- package/dist/routes.cjs +29 -29
- package/dist/routes.d.cts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/routes.js +6 -6
- package/dist/services.cjs +39 -39
- package/dist/services.d.cts +12 -0
- package/dist/services.d.ts +12 -0
- package/dist/services.js +3 -3
- package/dist/utils.cjs +11 -11
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7HHIZQNE.cjs.map +0 -1
- package/dist/chunk-BAMJVG33.js.map +0 -1
- package/dist/chunk-KYAF33AF.js.map +0 -1
- package/dist/chunk-MZS33LLH.cjs.map +0 -1
- package/dist/chunk-NZWFCUDA.cjs.map +0 -1
- package/dist/chunk-TBJY2FF7.js.map +0 -1
- package/dist/chunk-U6FOL6EO.cjs.map +0 -1
- package/dist/chunk-W33MHOPA.js.map +0 -1
- package/dist/migrations-MYQI2KAJ.cjs +0 -13
- package/dist/migrations-WCEBO5QQ.js +0 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-
|
|
1
|
+
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-C9esKLmh.cjs';
|
|
2
2
|
import { B as schema } from './plugin-bootstrap-DfVerYV4.cjs';
|
|
3
3
|
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-DfVerYV4.cjs';
|
|
4
4
|
export { AuthManager, Permission, PermissionManager, UserPermissions, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './middleware.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-
|
|
1
|
+
export { B as Bindings, a as SonicJSApp, S as SonicJSConfig, V as Variables, c as createSonicJSApp, s as setupCoreMiddleware, b as setupCoreRoutes } from './app-C9esKLmh.js';
|
|
2
2
|
import { B as schema } from './plugin-bootstrap-P_ciLp_C.js';
|
|
3
3
|
export { D as Collection, E as Content, C as CorePlugin, F as DbPlugin, G as DbPluginHook, L as LogCategory, H as LogConfig, a as LogEntry, b as LogFilter, c as LogLevel, d as Logger, I as Media, M as Migration, e as MigrationService, f as MigrationStatus, N as NewCollection, J as NewContent, K as NewLogConfig, O as NewMedia, Q as NewPlugin, R as NewPluginActivityLog, S as NewPluginAsset, T as NewPluginHook, U as NewPluginRoute, V as NewSystemLog, W as NewUser, X as NewWorkflowHistory, Y as PluginActivityLog, Z as PluginAsset, P as PluginBootstrapService, _ as PluginRoute, g as PluginServiceClass, $ as SystemLog, a0 as User, a1 as WorkflowHistory, a2 as apiTokens, h as backfillFormSubmissions, i as cleanupRemovedCollections, a3 as collections, a4 as content, a5 as contentVersions, j as createContentFromSubmission, k as deriveCollectionSchemaFromFormio, l as deriveSubmissionTitle, m as fullCollectionSync, n as getAvailableCollectionNames, o as getLogger, p as getManagedCollections, q as initLogger, a6 as insertCollectionSchema, a7 as insertContentSchema, a8 as insertLogConfigSchema, a9 as insertMediaSchema, aa as insertPluginActivityLogSchema, ab as insertPluginAssetSchema, ac as insertPluginHookSchema, ad as insertPluginRouteSchema, ae as insertPluginSchema, af as insertSystemLogSchema, ag as insertUserSchema, ah as insertWorkflowHistorySchema, r as isCollectionManaged, s as loadCollectionConfig, t as loadCollectionConfigs, ai as logConfig, u as mapFormStatusToContentStatus, aj as media, ak as pluginActivityLog, al as pluginAssets, am as pluginHooks, an as pluginRoutes, ao as plugins, v as registerCollections, ap as selectCollectionSchema, aq as selectContentSchema, ar as selectLogConfigSchema, as as selectMediaSchema, at as selectPluginActivityLogSchema, au as selectPluginAssetSchema, av as selectPluginHookSchema, aw as selectPluginRouteSchema, ax as selectPluginSchema, ay as selectSystemLogSchema, az as selectUserSchema, aA as selectWorkflowHistorySchema, w as syncAllFormCollections, x as syncCollection, y as syncCollections, z as syncFormCollection, aB as systemLogs, aC as users, A as validateCollectionConfig, aD as workflowHistory } from './plugin-bootstrap-P_ciLp_C.js';
|
|
4
4
|
export { AuthManager, Permission, PermissionManager, UserPermissions, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeaders, securityLoggingMiddleware } from './middleware.js';
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { renderConfirmationDialog, getConfirmationDialogScript, api_default, api_media_default, api_system_default, admin_api_default, router, adminCollectionsRoutes, adminFormsRoutes, adminSettingsRoutes, public_forms_default, router2, admin_content_default, adminMediaRoutes, userProfilesPlugin, adminPluginRoutes, adminLogsRoutes, userRoutes, auth_default, test_cleanup_default } from './chunk-
|
|
2
|
-
export { ROUTES_INFO, admin_api_default as adminApiRoutes, adminCheckboxRoutes, admin_code_examples_default as adminCodeExamplesRoutes, adminCollectionsRoutes, admin_content_default as adminContentRoutes, router as adminDashboardRoutes, adminDesignRoutes, adminLogsRoutes, adminMediaRoutes, adminPluginRoutes, adminSettingsRoutes, admin_testimonials_default as adminTestimonialsRoutes, userRoutes as adminUsersRoutes, api_content_crud_default as apiContentCrudRoutes, api_media_default as apiMediaRoutes, api_default as apiRoutes, api_system_default as apiSystemRoutes, auth_default as authRoutes, createUserProfilesPlugin, defineUserProfile, getUserProfileConfig, userProfilesPlugin } from './chunk-
|
|
3
|
-
import { SettingsService, setAppInstance, schema_exports } from './chunk-
|
|
4
|
-
export { Logger, apiTokens, collections, content, contentVersions, getLogger, initLogger, insertCollectionSchema, insertContentSchema, insertLogConfigSchema, insertMediaSchema, insertPluginActivityLogSchema, insertPluginAssetSchema, insertPluginHookSchema, insertPluginRouteSchema, insertPluginSchema, insertSystemLogSchema, insertUserSchema, insertWorkflowHistorySchema, logConfig, media, pluginActivityLog, pluginAssets, pluginHooks, pluginRoutes, plugins, selectCollectionSchema, selectContentSchema, selectLogConfigSchema, selectMediaSchema, selectPluginActivityLogSchema, selectPluginAssetSchema, selectPluginHookSchema, selectPluginRouteSchema, selectPluginSchema, selectSystemLogSchema, selectUserSchema, selectWorkflowHistorySchema, systemLogs, users, workflowHistory } from './chunk-
|
|
5
|
-
import { requireAuth, AuthManager, metricsMiddleware, bootstrapMiddleware, securityHeadersMiddleware, csrfProtection, requireRole } from './chunk-
|
|
6
|
-
export { AuthManager, PermissionManager, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeadersMiddleware as securityHeaders, securityLoggingMiddleware } from './chunk-
|
|
7
|
-
import { PluginService, PLUGIN_REGISTRY } from './chunk-
|
|
8
|
-
export { PluginBootstrapService, PluginService as PluginServiceClass, backfillFormSubmissions, cleanupRemovedCollections, createContentFromSubmission, deriveCollectionSchemaFromFormio, deriveSubmissionTitle, fullCollectionSync, getAvailableCollectionNames, getManagedCollections, isCollectionManaged, loadCollectionConfig, loadCollectionConfigs, mapFormStatusToContentStatus, registerCollections, syncAllFormCollections, syncCollection, syncCollections, syncFormCollection, validateCollectionConfig } from './chunk-
|
|
9
|
-
export { MigrationService } from './chunk-
|
|
1
|
+
import { renderConfirmationDialog, getConfirmationDialogScript, api_default, api_media_default, api_system_default, admin_api_default, router, adminCollectionsRoutes, adminFormsRoutes, adminSettingsRoutes, public_forms_default, router2, admin_content_default, adminMediaRoutes, userProfilesPlugin, adminPluginRoutes, adminLogsRoutes, userRoutes, auth_default, test_cleanup_default } from './chunk-LZJLWW7E.js';
|
|
2
|
+
export { ROUTES_INFO, admin_api_default as adminApiRoutes, adminCheckboxRoutes, admin_code_examples_default as adminCodeExamplesRoutes, adminCollectionsRoutes, admin_content_default as adminContentRoutes, router as adminDashboardRoutes, adminDesignRoutes, adminLogsRoutes, adminMediaRoutes, adminPluginRoutes, adminSettingsRoutes, admin_testimonials_default as adminTestimonialsRoutes, userRoutes as adminUsersRoutes, api_content_crud_default as apiContentCrudRoutes, api_media_default as apiMediaRoutes, api_default as apiRoutes, api_system_default as apiSystemRoutes, auth_default as authRoutes, createUserProfilesPlugin, defineUserProfile, getUserProfileConfig, userProfilesPlugin } from './chunk-LZJLWW7E.js';
|
|
3
|
+
import { SettingsService, setAppInstance, schema_exports } from './chunk-QFWHAFEO.js';
|
|
4
|
+
export { Logger, apiTokens, collections, content, contentVersions, getLogger, initLogger, insertCollectionSchema, insertContentSchema, insertLogConfigSchema, insertMediaSchema, insertPluginActivityLogSchema, insertPluginAssetSchema, insertPluginHookSchema, insertPluginRouteSchema, insertPluginSchema, insertSystemLogSchema, insertUserSchema, insertWorkflowHistorySchema, logConfig, media, pluginActivityLog, pluginAssets, pluginHooks, pluginRoutes, plugins, selectCollectionSchema, selectContentSchema, selectLogConfigSchema, selectMediaSchema, selectPluginActivityLogSchema, selectPluginAssetSchema, selectPluginHookSchema, selectPluginRouteSchema, selectPluginSchema, selectSystemLogSchema, selectUserSchema, selectWorkflowHistorySchema, systemLogs, users, workflowHistory } from './chunk-QFWHAFEO.js';
|
|
5
|
+
import { requireAuth, getJwtExpirySecondsFromDb, AuthManager, metricsMiddleware, bootstrapMiddleware, securityHeadersMiddleware, csrfProtection, requireRole } from './chunk-S7K4FRJ2.js';
|
|
6
|
+
export { AuthManager, PermissionManager, bootstrapMiddleware, cacheHeaders, compressionMiddleware, detailedLoggingMiddleware, getActivePlugins, isPluginActive, logActivity, loggingMiddleware, optionalAuth, performanceLoggingMiddleware, requireActivePlugin, requireActivePlugins, requireAnyPermission, requireAuth, requirePermission, requireRole, securityHeadersMiddleware as securityHeaders, securityLoggingMiddleware } from './chunk-S7K4FRJ2.js';
|
|
7
|
+
import { PluginService, PLUGIN_REGISTRY } from './chunk-FDXNIZ6N.js';
|
|
8
|
+
export { PluginBootstrapService, PluginService as PluginServiceClass, backfillFormSubmissions, cleanupRemovedCollections, createContentFromSubmission, deriveCollectionSchemaFromFormio, deriveSubmissionTitle, fullCollectionSync, getAvailableCollectionNames, getManagedCollections, isCollectionManaged, loadCollectionConfig, loadCollectionConfigs, mapFormStatusToContentStatus, registerCollections, syncAllFormCollections, syncCollection, syncCollections, syncFormCollection, validateCollectionConfig } from './chunk-FDXNIZ6N.js';
|
|
9
|
+
export { MigrationService } from './chunk-NMJT6BJR.js';
|
|
10
10
|
export { renderFilterBar } from './chunk-ON5ZMSU4.js';
|
|
11
11
|
import { renderAdminLayout } from './chunk-XWIA3HVX.js';
|
|
12
12
|
export { getConfirmationDialogScript, renderAlert, renderConfirmationDialog, renderForm, renderFormField, renderPagination, renderTable } from './chunk-XWIA3HVX.js';
|
|
@@ -14,8 +14,8 @@ import { init_admin_layout_catalyst_template, renderAdminLayoutCatalyst } from '
|
|
|
14
14
|
export { HookSystemImpl, HookUtils, PluginManager as PluginManagerClass, PluginRegistryImpl, PluginValidator as PluginValidatorClass, ScopedHookSystem as ScopedHookSystemClass } from './chunk-TFNTM3OA.js';
|
|
15
15
|
import { PluginBuilder, PluginHelpers } from './chunk-EXNEW5US.js';
|
|
16
16
|
export { PluginBuilder, PluginHelpers } from './chunk-EXNEW5US.js';
|
|
17
|
-
import { package_default, getCoreVersion } from './chunk-
|
|
18
|
-
export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, getCoreVersion, renderTemplate, templateRenderer } from './chunk-
|
|
17
|
+
import { package_default, getCoreVersion } from './chunk-6F57Z6SD.js';
|
|
18
|
+
export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, getCoreVersion, renderTemplate, templateRenderer } from './chunk-6F57Z6SD.js';
|
|
19
19
|
import './chunk-X7ZAEI5S.js';
|
|
20
20
|
export { metricsTracker } from './chunk-FICTAGD4.js';
|
|
21
21
|
export { escapeHtml, sanitizeInput, sanitizeObject } from './chunk-TQABQWOP.js';
|
|
@@ -1944,13 +1944,13 @@ function createOTPLoginPlugin() {
|
|
|
1944
1944
|
error: "Account is deactivated"
|
|
1945
1945
|
}, 403);
|
|
1946
1946
|
}
|
|
1947
|
-
const
|
|
1947
|
+
const tokenTtl = await getJwtExpirySecondsFromDb(db, c.env);
|
|
1948
|
+
const token = await AuthManager.generateToken(user.id, user.email, user.role, c.env.JWT_SECRET, tokenTtl);
|
|
1948
1949
|
setCookie(c, "auth_token", token, {
|
|
1949
1950
|
httpOnly: true,
|
|
1950
1951
|
secure: true,
|
|
1951
1952
|
sameSite: "Strict",
|
|
1952
|
-
maxAge:
|
|
1953
|
-
// 24 hours
|
|
1953
|
+
maxAge: tokenTtl
|
|
1954
1954
|
});
|
|
1955
1955
|
return c.json({
|
|
1956
1956
|
success: true,
|
|
@@ -2414,13 +2414,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2414
2414
|
if (!user || !user.is_active) {
|
|
2415
2415
|
return c.redirect("/auth/login?error=Account is deactivated");
|
|
2416
2416
|
}
|
|
2417
|
+
const tokenTtl2 = await getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2417
2418
|
const jwt2 = await AuthManager.generateToken(
|
|
2418
2419
|
user.id,
|
|
2419
2420
|
user.email,
|
|
2420
2421
|
user.role,
|
|
2421
|
-
c.env.JWT_SECRET
|
|
2422
|
+
c.env.JWT_SECRET,
|
|
2423
|
+
tokenTtl2
|
|
2422
2424
|
);
|
|
2423
|
-
AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax" });
|
|
2425
|
+
AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
|
|
2424
2426
|
return c.redirect("/admin");
|
|
2425
2427
|
}
|
|
2426
2428
|
const existingUser = await oauthService.findUserByEmail(profile.email);
|
|
@@ -2437,13 +2439,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2437
2439
|
tokenExpiresAt: tokenExpiresAt ?? void 0,
|
|
2438
2440
|
profileData: JSON.stringify(profile)
|
|
2439
2441
|
});
|
|
2442
|
+
const tokenTtl2 = await getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2440
2443
|
const jwt2 = await AuthManager.generateToken(
|
|
2441
2444
|
existingUser.id,
|
|
2442
2445
|
existingUser.email,
|
|
2443
2446
|
existingUser.role,
|
|
2444
|
-
c.env.JWT_SECRET
|
|
2447
|
+
c.env.JWT_SECRET,
|
|
2448
|
+
tokenTtl2
|
|
2445
2449
|
);
|
|
2446
|
-
AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax" });
|
|
2450
|
+
AuthManager.setAuthCookie(c, jwt2, { sameSite: "Lax", maxAge: tokenTtl2 });
|
|
2447
2451
|
return c.redirect("/admin");
|
|
2448
2452
|
}
|
|
2449
2453
|
const newUserId = await oauthService.createUserFromOAuth(profile);
|
|
@@ -2456,13 +2460,15 @@ function createOAuthProvidersPlugin() {
|
|
|
2456
2460
|
tokenExpiresAt: tokenExpiresAt ?? void 0,
|
|
2457
2461
|
profileData: JSON.stringify(profile)
|
|
2458
2462
|
});
|
|
2463
|
+
const tokenTtl = await getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
2459
2464
|
const jwt = await AuthManager.generateToken(
|
|
2460
2465
|
newUserId,
|
|
2461
2466
|
profile.email.toLowerCase(),
|
|
2462
2467
|
"viewer",
|
|
2463
|
-
c.env.JWT_SECRET
|
|
2468
|
+
c.env.JWT_SECRET,
|
|
2469
|
+
tokenTtl
|
|
2464
2470
|
);
|
|
2465
|
-
AuthManager.setAuthCookie(c, jwt, { sameSite: "Lax" });
|
|
2471
|
+
AuthManager.setAuthCookie(c, jwt, { sameSite: "Lax", maxAge: tokenTtl });
|
|
2466
2472
|
return c.redirect("/admin");
|
|
2467
2473
|
} catch (error) {
|
|
2468
2474
|
console.error("OAuth callback error:", error);
|
|
@@ -4556,13 +4562,15 @@ function createMagicLinkAuthPlugin() {
|
|
|
4556
4562
|
SET used = 1, used_at = ?
|
|
4557
4563
|
WHERE id = ?
|
|
4558
4564
|
`).bind(Date.now(), magicLink.id).run();
|
|
4565
|
+
const tokenTtl = await getJwtExpirySecondsFromDb(c.env.DB, c.env);
|
|
4559
4566
|
const jwtToken = await AuthManager.generateToken(
|
|
4560
4567
|
user.id,
|
|
4561
4568
|
user.email,
|
|
4562
4569
|
user.role,
|
|
4563
|
-
c.env.JWT_SECRET
|
|
4570
|
+
c.env.JWT_SECRET,
|
|
4571
|
+
tokenTtl
|
|
4564
4572
|
);
|
|
4565
|
-
AuthManager.setAuthCookie(c, jwtToken);
|
|
4573
|
+
AuthManager.setAuthCookie(c, jwtToken, { maxAge: tokenTtl });
|
|
4566
4574
|
await db.prepare(`
|
|
4567
4575
|
UPDATE users SET last_login_at = ? WHERE id = ?
|
|
4568
4576
|
`).bind(Date.now(), user.id).run();
|