我正在遵循官方 T3 堆栈教程。
我被职员身份验证困住了。我将 _app.tsx 修改为以下内容:
import { type AppType } from "next/app";
import { api } from "~/utils/api";
import "~/styles/globals.css";
import {ClerkProvider, SignedIn, SignedOut, SignIn} from "@clerk/nextjs";
const MyApp: AppType = ({ Component, pageProps }) => {
return (
<ClerkProvider {...pageProps}>
<Component {...pageProps} />
</ClerkProvider>
);
};
export default api.withTRPC(MyApp);
当我访问我的主页:http://127.0.0.1:3000/或http://localhost:3000/时,我收到以下错误:
检查浏览器控制台,我看到的主要(也是第一个)错误如下:
这是一个基本的 CORS 块,我似乎对客户端无能为力。
我错过了什么?我已经为这个问题苦苦思索好几天了,但在谷歌上却没有发现这样的事情。
这似乎导致店员根本不工作。
我用于上下文的版本:
到目前为止我尝试了以下方法:
我在另一个仓库(t3-turbo-and-clerk)中发现了与我的确切问题有关的问题:
https://github.com/clerkinc/t3-turbo-and-clerk/issues/39
该问题是由我的 HTTPSEverywhere 问题引起的。在本地主机上禁用它解决了我的问题。
留在这里供其他人查找。
同一个项目有同样的问题,但我没有 HTTPS Everywhere 扩展。我可以通过单击控制台中的获取链接绕过应用程序并直接转到职员提供的登录页面并重新登录来解决此问题。
我遇到了同样的问题。 我在以下设置中使用 clerk
"dependencies": {
"@clerk/nextjs": "^4.29.12",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"lucide-react": "^0.365.0",
"mongoose": "^8.3.0",
"next": "14.1.0",
"react": "^18",
"react-dom": "^18",
"tailwind-merge": "^2.2.2",
"tailwindcss-animate": "^1.0.7"
}
我已经通过 Clerk Google Oauth 登录了该应用程序。 有一次,我开始遇到错误:
我尝试使用隐身选项卡并禁用所有 Chrome 扩展程序,但错误仍然存在。
我使用了另一个浏览器(Edge)并且必须登录。我在登录屏幕上收到一条通知:
因此,Clerk 正在进行维护,当维护时,只有在您注销并尝试登录时您才会收到通知。如果您已经登录并正在进行会话,您将不会收到任何通知。 Clerk SDK 无法访问服务器(正在进行维护)并抛出错误。 希望有帮助。