// middleware.js
import { NextResponse } from 'next/server';
import { auth } from './auth';
export function middleware(request) {
const { data } = auth();
const token = request.cookies.get('authjs.session-token');
console.log('token', token);
console.log(data);
return NextResponse.next();
}
export const config = {
matcher: ['/login', '/signup'],
};
// auth.js
import NextAuth from 'next-auth';
import Credentials from 'next-auth/providers/credentials';
import { authorizeUser } from '@/lib/auth/user';
export const { auth, handlers, signIn, signOut } = NextAuth({
providers: [
Credentials({
credentials: {
email: {},
password: {},
},
authorize: authorizeUser,
}),
],
secret: process.env.NEXTAUTH_SECRET,
});
// next.config.mjs
/** @type {import('next').NextConfig} */
const nextConfig = {};
export default nextConfig;
I尝试使用auth.js的auth()函数将会话数据获取中间件中的会话数据并将其记录到控制台。我期望返回会话数据,并使应用程序无误地编译。
在您的授权器函数中,您是否使用bcrypt? 我也遇到了同样的错误,并通过删除bcrypt解决了它。 那么如何盐和哈希密码?目前,我对此没有解决方案。我真的应该研究错误堆栈跟踪,也许在Next.js或auth.jsgithub
上打开新问题