getSessionCookie and getCookieCache always null

I'm having issue with middleware and getSessionCookie in next15

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',
};
Was this page helpful?