INVALID_URL错误,nextjs 13和next-auth [重复]

jdg4fx2g  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(272)

此问题已在此处有答案

TypeError [ERR_INVALID_URL]: Invalid URL using Next-auth only in Production(4个答案)
13小时前关闭
这篇文章是编辑并提交审查7小时前.
我正在尝试使用nextjs 13和新的app目录设置一个新项目。到目前为止,它看起来相当不错,但我得到这个INVALID_URL错误时,试图访问下一个认证签名路由。
这是我的route.js文件:

import NextAuth from 'next-auth/next';
import Auth0Provider from 'next-auth/providers/auth0';

export const authOptions = {
  providers: [
    Auth0Provider({
      clientId: process.env.AUTH0_CLIENT_ID,
      clientSecret: process.env.AUTH0_CLIENT_SECRET,
      issuer: process.env.AUTH0_ISSUER,
    }),
  ],
  callbacks: {
    async jwt({ token, account, profile }) {
      // Persist the OAuth access_token and or the user id to the token right after signin
      if (account) {
        token.accessToken = account.access_token;
        token.id = profile.id;
        token.roles = profile['https://lager.meg-transport.de/roles'];
      }
      return token;
    },
    async session({ session, token }) {
      return {
        ...session?.user,
        roles: token?.roles,
      };
    },
  },
};

const handler = NextAuth(authOptions);
export { handler as GET, handler as POST };

这是server.js文件:server.js
这是我得到的错误:error
这是我的项目结构:structure
当我通过yarn build和yarn start在本地运行站点时,它可以工作,但在将其部署到IIS后,我得到了这个错误。它看起来像路线没有正确创建或类似的东西。我希望它在本地和在服务器上一样工作。

idfiyjo8

idfiyjo81#

在你的.env文件中使用只需要添加NEXTAUTH_URL如果你在本地主机上只需要把这个

NEXTAUTH_URL=http://localhost:3000

如果你的网站是部署把你的网站网址

NEXTAUTH_URL=yourwebsitedomain

并重新启动您的应用程序后,这应该工作正常,错误消失

相关问题