【问题标题】:Auth0 and Next.js deployed to Vercel: Location header errorAuth0 和 Next.js 部署到 Vercel:位置标头错误
【发布时间】:2020-09-16 03:21:38
【问题描述】:

我从这个示例 repo 开始:https://github.com/vercel/next.js/tree/canary/examples/auth0

我目前的回购:https://github.com/rebeccapeltz/next-auth-app-1

登录/注销在本地工作正常。当我部署到 Vercel 并注销时,我在浏览器中收到此消息:

标题内容中的无效字符 ["Location"]

我已经仔细检查了 Auth0 环境变量,它们看起来是正确的。登录在 Vercel 上工作正常。无法弄清楚如何解决导致问题的标头位置值。

还没有发生什么事情,很容易重现:https://next-auth-app-1.now.sh/

【问题讨论】:

    标签: next.js auth0 vercel


    【解决方案1】:

    通过删除添加到 Vercel 在线应用程序设置中的所有 env 变量来解决此问题。然后使用 now CLI now secrets add 添加机密,并通过在 now.json 中设置其他环境变量并使用 now --prod 来部署应用程序。现在工作正常。对于进一步的外部环境秘密和参考,我想知道是通过 now.json 添加它们还是使用在线设置 GUI 更好。不清楚的一件事是,当您使用 now add secrets 添加变量时,您需要在 now.json 中的值前面加上 @。有点像使用 $ 访问 bash 环境变量。所以在添加秘密后,我的 now.json 看起来像这样

    {
      "build": {
        "env": {
          "AUTH0_DOMAIN": "<name of auth0 domain>",
          "AUTH0_CLIENT_ID": "<what you get from auth0>",
          "AUTH0_CLIENT_SECRET": "@auth0_client_secret",
          "REDIRECT_URI": "<name of vercel app or domain name>/api/callback",
          "POST_LOGOUT_REDIRECT_URI": "<name of vercel app>/",
          "SESSION_COOKIE_SECRET": "@session_cookie_secret"
        }
      }
    }
    

    您是否应该使用secrets add 添加所有环境,然后在 now.json 中按名称引用?不确定。

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 2021-10-01
      • 1970-01-01
      • 2021-05-31
      • 2021-08-19
      • 1970-01-01
      • 2022-11-03
      • 2021-08-16
      • 1970-01-01
      相关资源
      最近更新 更多