验证可重试获取错误:使用Supabase和Next.js的证书链中的自签名证书

lnlaulya  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(92)

当我尝试使用Next.js从getServerSideProps内的Supabase获取用户时,收到以下证书错误:

AuthRetryableFetchError: request to https://[redacted].supabase.co/auth/v1/user failed, reason: self signed certificate in certificate chain
    at [redacted]/node_modules/@supabase/gotrue-js/dist/main/lib/fetch.js:30:16

这是我的代码的简化版本,可供参考:

export const getServerSideProps = async ({ req, res }) => {
  const supabase = createServerSupabaseClient({ req, res });
  const { data: { user }, error } = await supabase.auth.getUser();

  if (error) console.error(error);

  return {
    props: {
      user,
    }
  }
};

我已经分别使用yarn config set cafile /path/to/certificate/filenpm config set cafile /path/to/certificate/file设置了yarnnpm以使用正确的证书,但是由于某种原因,当Next.js尝试从服务器端(Node.js)获取证书时失败了,我不确定需要设置什么服务来告诉它证书设置在哪里?
有很多类似的问题,但我找不到任何具体关于Next.js或在Node.js中解决这个问题的问题。
任何帮助都感激不尽。

jhiyze9q

jhiyze9q1#

因此,在env.local中设置NODE_TLS_REJECT_UNAUTHORIZED=0似乎可以解决这个问题,但如果有人知道如何解决这个问题,而不是避免它,我仍然感兴趣。
源代码:https://stackoverflow.com/a/45088585/827129

相关问题