getSessionCookie and getCookieCache always null
I'm having issue with middleware and getSessionCookie in next15
Here's my middleware.ts:
Here's my middleware.ts:
import { getCookieCache, getSessionCookie } from 'better-auth/cookies';
import createMiddleware from 'next-intl/middleware';
import { NextRequest, NextResponse } from 'next/server';
import { PROTECTED_ROUTES, ROUTES } from './constants/urls.const';
import { routing } from './i18n/routing';
const intlMiddleware = createMiddleware(routing);
export default async function middleware(request: NextRequest) {
const { nextUrl } = request;
const allCookies = request.cookies.getAll();
const sessionCookie = getSessionCookie(request, {
cookieName: 'session_token',
cookiePrefix: 'Secure-auth',
});
const session = await getCookieCache(request);
const betterAuthCookie = request.cookies.get('Secure-auth.session_token');
const isLoggedIn = !!betterAuthCookie;
const isOnProtectedRoute = PROTECTED_ROUTES.includes(nextUrl.pathname);
const isOnAuthRoute = nextUrl.pathname === ROUTES.LOGIN;
if (isOnProtectedRoute && !isLoggedIn) {
return NextResponse.redirect(new URL(ROUTES.LOGIN, request.url));
}
if (isOnAuthRoute && isLoggedIn) {
return NextResponse.redirect(new URL(ROUTES.PROFILE, request.url));
}
return intlMiddleware(request);
}
export const config = {
matcher: ['/((?!api|_next|_vercel|.*\\..*).*)', '/([\\w-]+)?/users/(.+)'],
runtime: 'nodejs',
};import { getCookieCache, getSessionCookie } from 'better-auth/cookies';
import createMiddleware from 'next-intl/middleware';
import { NextRequest, NextResponse } from 'next/server';
import { PROTECTED_ROUTES, ROUTES } from './constants/urls.const';
import { routing } from './i18n/routing';
const intlMiddleware = createMiddleware(routing);
export default async function middleware(request: NextRequest) {
const { nextUrl } = request;
const allCookies = request.cookies.getAll();
const sessionCookie = getSessionCookie(request, {
cookieName: 'session_token',
cookiePrefix: 'Secure-auth',
});
const session = await getCookieCache(request);
const betterAuthCookie = request.cookies.get('Secure-auth.session_token');
const isLoggedIn = !!betterAuthCookie;
const isOnProtectedRoute = PROTECTED_ROUTES.includes(nextUrl.pathname);
const isOnAuthRoute = nextUrl.pathname === ROUTES.LOGIN;
if (isOnProtectedRoute && !isLoggedIn) {
return NextResponse.redirect(new URL(ROUTES.LOGIN, request.url));
}
if (isOnAuthRoute && isLoggedIn) {
return NextResponse.redirect(new URL(ROUTES.PROFILE, request.url));
}
return intlMiddleware(request);
}
export const config = {
matcher: ['/((?!api|_next|_vercel|.*\\..*).*)', '/([\\w-]+)?/users/(.+)'],
runtime: 'nodejs',
};