我怎样才能让一个nextjs 13应用程序在没有用户认证的情况下允许t&cs页面呈现?我的文件结构是app/(landing)/page -用于主着陆页。在该页面的页脚,我有一个t&cs页面的链接,该页面位于同一个(landing)文件夹中,保存为terms. tsx。当我点击链接到条款时,职员身份验证登录屏幕弹出。我想在没有身份验证的情况下呈现此页面。如何在渲染(landing)文件夹中的内容时禁用Clerk应用的渲染?
t8e9dugd1#
在middleware.ts文件中,您可以在导出authMiddleware时指定此选项,方法是:
middleware.ts
import { authMiddleware } from "@clerk/nextjs"; export default authMiddleware({ // "/" will be accessible to all users publicRoutes: ["/"] });
字符串使用req对象来匹配url。下面的示例将/dashboard之外的所有路由设置为公共路由。
publicRoutes: req => !req.url.includes('/dashboard')
型更多信息请参考文档:https://clerk.com/docs/references/nextjs/auth-middleware#make-routes-public-by-using-public-routes
1条答案
按热度按时间t8e9dugd1#
在
middleware.ts
文件中,您可以在导出authMiddleware时指定此选项,方法是:字符串
使用req对象来匹配url。下面的示例将/dashboard之外的所有路由设置为公共路由。
型
更多信息请参考文档:https://clerk.com/docs/references/nextjs/auth-middleware#make-routes-public-by-using-public-routes