Использую app router на Next.js 13 и next-auth 4.22
Ожидал, что middleware будет перекидывать только незалогиненного юзера, но перекидывает всегда , вне зависимости от статуса. То есть getServerSession и useSession работают нормально (то есть показывают правильные данные для залогиненного и пустоту для незалогиненного) , а вот мидлваре почему то не важно был логин или нет, перекидывает всегда.
middleware файл:
export { default } from 'next-auth/middleware'
export const config = { matcher: ["/path_with_auth1", "/path_with_auth2"] }
Опции для next-auth:
export const options: NextAuthOptions = {
providers: [
GitHubProvider({
clientId: process.env.GITHUB_ID as string,
clientSecret: process.env.GITHUB_SECRET as string,
}),
],
adapter: PrismaAdapter(prisma),
secret: process.env.NEXTAUTH_SECRET,
};
файл app/api/auth/[...nextauth]/route.ts :
import NextAuth from 'next-auth';
import { options } from './options'
const handler = NextAuth(options);
export { handler as GET, handler as POST}