IDriuk
@IDriuk
программист

Почему next-auth middleware не пропускает залогиненного юзера?

Использую 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}
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
IDriuk
@IDriuk Автор вопроса
программист
Надо добавить в options :
session: {
    strategy: "jwt",
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы