部署在AWS Amplify上的Nextauth[next auth][error][CLIENT_FETCH_erro



我正在使用NextAuth(Cognito Provider(,它在我的本地机器上运行良好,但当部署在AWS Amplify上时,它会不断向我提供[next-auth][error][CLIENT_FETCH_ERROR] https://next-auth.js.org/errors#client_fetch_error Unexpected token '<', "<!DOCTYPE "... is not valid JSON和请求https://mydomain.sample-dev.net/api/auth/session is 404

我遵循了文档,并在下面添加了所需的环境变量:

Executing command: NEXTAUTH_URL=https://mydomain.sample-dev.net

Executing command: NEXTAUTH_SECRET=TestingSecretKey

Executing command: NEXT_PUBLIC_AUTH_SECRET=TestingSecretKey

我的pages/api/auth/[...nextauth].ts

import NextAuth from 'next-auth/next';
import Cognito from 'next-auth/providers/cognito';
export default NextAuth({
providers: [
Cognito({
clientId: process.env.NEXT_PUBLIC_AUTH_CLIENT_ID!,
clientSecret: process.env.NEXT_PUBLIC_AUTH_CLIENT_SECRET!,
issuer: process.env.NEXT_PUBLIC_AUTH_ISSUER!,
idToken: true,
checks: 'nonce',
}),
],
debug: false,
secret: process.env.NEXTAUTH_SECRET || process.env.NEXT_PUBLIC_AUTH_SECRET,
});

你知道我做错了什么或错过了什么吗?

[next-auth][error][CLIENT_FETCH_ERROR]错误表明由于配置错误,NEXTAUTH_URL环境变量无法访问使用。

为了解决错误,您主要需要在AWS Amplify仪表板上定义所需的环境变量。

应用程序设置下选择受影响的应用程序,然后单击环境变量并按照说明进行操作。

然后,单击构建设置(同样位于应用程序设置下(菜单,以编辑应用程序构建规范脚本,并使环境变量可访问,如下所示。

build:
commands:
- echo "NEXTAUTH_URL=$NEXTAUTH_URL" >> .env
- npm run build

最新更新