我正在使用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