我正在使用 Next.js、Prisma 和 NextAuth 的电子邮件提供商策略来设置身份验证系统。如果请求不包含有效会话,我想使用 Next.js 中间件来重定向请求。但是对中间件的任何使用,就像在 middleware.js 文件中声明一个函数一样,都会抛出此错误:
error - (middleware)/node_modules/oidc-token-hash/lib/shake256.js (3:0) @ <unknown>
error - Cannot read properties of undefined (reading 'substr')
null
Run Code Online (Sandbox Code Playgroud)
它记录此错误大约 5 次。这是middleware.js文件位于{root}/middleware.js
import { NextResponse } from 'next/server';
export default function middleware(request) {
return NextResponse.next();
}
Run Code Online (Sandbox Code Playgroud)
这是node_modules/oidc-token-hash/lib/shake256.js错误中指定的文件:
const crypto = require('crypto');
const [major, minor] = process.version.substr(1).split('.').map((x) => parseInt(x, 10));
const xofOutputLength = major > 12 || (major === 12 && minor >= 8);
const shake256 = xofOutputLength && …Run Code Online (Sandbox Code Playgroud)