我有一个 next js 应用程序,它支持多种语言。因此,我有一个中间件可以将用户重定向到具有语言环境的 URL。我想在此 application.export 函数中实现 auth js
我有一个 next js 应用程序,它支持多种语言。因此,我有一个中间件可以将用户重定向到具有语言环境的 URL。我想在此应用程序中实现 auth js。
export function middleware(request: any) {
const pathname = request.nextUrl.pathname;
const pathnameIsMissingLocale = locales.every(
(locale) => !pathname.startsWith(`/${locale}/`) && pathname !== `/${locale}`
);
if (pathnameIsMissingLocale) {
const locale = getLocale(request);
return NextResponse.redirect(
new URL(`/${locale}/${pathname}`, request.url)
);
}
}
export const config = {
matcher: [
// Skip all internal paths (_next, assets, api)
//"/((?!api|assets|.*\\..*|_next).*)",
"/((?!api|assets|docs|.*\\..*|_next).*)",
// Optional: only run on root (/) URL
],
};
在此应用程序中,我想使用 auth.js v5 实现身份验证。根据文档,我必须在中间件中添加以下代码片段,而无需任何匹配器。
import { auth as middleware } from "@/lib/auth";
如何解决此问题?TIA
重命名其中一个功能没有帮助,因为它必须是中间件才能工作。