Next-Auth 凭证提供者 - [next-auth][error][client_fetch_error]
Next-Auth Credential-Provider - [next-auth][error][client_fetch_error]
我想尝试使用带有 next-auth 的 nextjs 来使用凭据提供程序进行身份验证。
但是当我登录并尝试打开受保护的路由时,我总是收到以下错误:
[next-auth][error][client_fetch_error]
https://next-auth.js.org/errors#client_fetch_error session FetchError: invalid json response body at http://localhost:3000/api/auth/session reason: Unexpected token < in JSON at position 0
at C:\Users\me\workspace\vscode\projects\next-auth-typescript-example\node_modules\node-fetch\lib\index.js:272:32
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5) {
type: 'invalid-json'
}
要重现错误,您可以执行以下步骤:
- 查看 typescript 的官方 next-auth 示例:next-auth typescript example
- 按照 next-auth 存储库的步骤进行操作
- 然后打开文件
/pages/api/auth/[...nextauth].ts
- 使用我的代码添加凭据提供程序
- 启动服务器并尝试使用任何凭据通过凭据提供程序登录
- 尝试打开受保护的路由
- 看看你的控制台,你会发现错误
凭据提供程序代码:
Providers.Credentials({
name: "Ogame Credentials",
credentials: {
username: { label: "Username", type: "text" },
password: { label: "Password", type: "password" },
},
async authorize(credentials, req) {
const user: User = {
id: 1,
name: "J Smith",
email: "jsmith@example.com",
image: "https://google.de",
}
if (user) {
return user
} else {
return null
}
},
}),
此代码也来自 next-auth 存储库中的示例。
好的,我找到问题了。
我为我的 python 环境安装了 miniconda。
我没有意识到 miniconda 默认挂接到 powershell(base
在 powershell 行前面)
所以我为 powershell 停用了 miniconda,现在它可以工作了。
我想尝试使用带有 next-auth 的 nextjs 来使用凭据提供程序进行身份验证。 但是当我登录并尝试打开受保护的路由时,我总是收到以下错误:
[next-auth][error][client_fetch_error]
https://next-auth.js.org/errors#client_fetch_error session FetchError: invalid json response body at http://localhost:3000/api/auth/session reason: Unexpected token < in JSON at position 0
at C:\Users\me\workspace\vscode\projects\next-auth-typescript-example\node_modules\node-fetch\lib\index.js:272:32
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5) {
type: 'invalid-json'
}
要重现错误,您可以执行以下步骤:
- 查看 typescript 的官方 next-auth 示例:next-auth typescript example
- 按照 next-auth 存储库的步骤进行操作
- 然后打开文件
/pages/api/auth/[...nextauth].ts
- 使用我的代码添加凭据提供程序
- 启动服务器并尝试使用任何凭据通过凭据提供程序登录
- 尝试打开受保护的路由
- 看看你的控制台,你会发现错误
凭据提供程序代码:
Providers.Credentials({
name: "Ogame Credentials",
credentials: {
username: { label: "Username", type: "text" },
password: { label: "Password", type: "password" },
},
async authorize(credentials, req) {
const user: User = {
id: 1,
name: "J Smith",
email: "jsmith@example.com",
image: "https://google.de",
}
if (user) {
return user
} else {
return null
}
},
}),
此代码也来自 next-auth 存储库中的示例。
好的,我找到问题了。
我为我的 python 环境安装了 miniconda。
我没有意识到 miniconda 默认挂接到 powershell(base
在 powershell 行前面)
所以我为 powershell 停用了 miniconda,现在它可以工作了。