在我托管在 vercel 上的生产站点上,经过职员身份验证后,它将我重定向到本地主机。这仅发生在我用于开发的笔记本电脑上。
如果我在另一台设备上连接到生产站点,它会在身份验证后正确地将我重定向回 vercel 上托管的生产站点。
我正在关注 t3 堆栈的教程:https://www.youtube.com/watch?v=YkOSUVzOAA4
我是这个堆栈的新手,并且使用 nextJS + vercel + clerk,所以我不知道从哪里开始。我将上传任何需要的代码。谢谢。
遵循 Clerk 的 Next.js 设置说明,它应该有助于使其正常工作。具体添加登录和注册页面并创建这些环境变量:
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
这应该能让 Vercel 部署正常运行,而不会出现奇怪的重定向问题。
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
它们在 nextjs 5.0 版本或更高版本中已弃用,因此请使用
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/
在你的
.env.local file
我没有遇到您的问题,但我的问题是实现我自己的/登录页面。除非您确实想要,否则不要这样做,请使用 Clerk 的登录页面。我不应该那样做。正确的方法是对除归属地/路由之外的所有路由都进行身份验证。其上可以有一个链接到另一个页面的按钮。职员会看到该页面需要身份验证,将您重定向到职员的登录页面,您对其进行签名,然后它将您重定向回您想要访问的页面。
如果您实现自己的 /sign-in 页面,那么需要做一些额外的工作,这显示了如何做到这一点:https://www.youtube.com/watch?v=UYUa8FRq2k8