diff --git a/packages/devextreme-cli/src/templates/nextjs/application/src/middleware.ts b/packages/devextreme-cli/src/templates/nextjs/application/src/middleware.ts index 780a290d3..f7487feae 100644 --- a/packages/devextreme-cli/src/templates/nextjs/application/src/middleware.ts +++ b/packages/devextreme-cli/src/templates/nextjs/application/src/middleware.ts @@ -16,16 +16,25 @@ async function _DEMO_logIn() { return await _DEMO_logIn(); // In production, you will need to redirect unauthorized users - // return NextResponse.redirect(new URL('/login', req.nextUrl)) + // return NextResponse.redirect(new URL('/auth/login', req.nextUrl)) } export default async function middleware(req<%=#isTypeScript%>: NextRequest<%=/isTypeScript%>) { const path = req.nextUrl.pathname; - + + if (!isProtectedRoute(path)) { + return NextResponse.next(); + } + const cookie = (await cookies()).get('session')?.value; + + if (!cookie) { + return await redirectUnauthorized(req); + } + const session = await decrypt(cookie); - - if (isProtectedRoute(path) && !session?.userId) { + + if (!session?.userId) { return await redirectUnauthorized(req); } diff --git a/packages/devextreme-cli/testing/__tests__/__image_snapshots__/side-nav-outer-toolbar-material-large-create-account-snap.png b/packages/devextreme-cli/testing/__tests__/__image_snapshots__/side-nav-outer-toolbar-material-large-create-account-snap.png index b62c30b2a..d103c4de6 100644 Binary files a/packages/devextreme-cli/testing/__tests__/__image_snapshots__/side-nav-outer-toolbar-material-large-create-account-snap.png and b/packages/devextreme-cli/testing/__tests__/__image_snapshots__/side-nav-outer-toolbar-material-large-create-account-snap.png differ diff --git a/packages/devextreme-cli/testing/app-template.test.shared.js b/packages/devextreme-cli/testing/app-template.test.shared.js index a0b73c472..ce0ca7bc2 100644 --- a/packages/devextreme-cli/testing/app-template.test.shared.js +++ b/packages/devextreme-cli/testing/app-template.test.shared.js @@ -283,14 +283,7 @@ module.exports = (env, { port = 8080, urls = {} } = {}) => { await page.waitForTimeout(3000); const image = await takeScreenshot(); - const isProblemTest = env.engine.startsWith('nextjs') - && theme === 'material' - && viewportName === 'large' - && layout === 'side-nav-outer-toolbar'; - - compareSnapshot(image, 'create-account', { - threshold: isProblemTest ? 0.025 : customConfig.threshold - }); + compareSnapshot(image, 'create-account'); }); it('Reset password page', async() => {