当我尝试使用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/file
和npm config set cafile /path/to/certificate/file
设置了yarn
和npm
以使用正确的证书,但是由于某种原因,当Next.js尝试从服务器端(Node.js)获取证书时失败了,我不确定需要设置什么服务来告诉它证书设置在哪里?
有很多类似的问题,但我找不到任何具体关于Next.js或在Node.js中解决这个问题的问题。
任何帮助都感激不尽。
1条答案
按热度按时间jhiyze9q1#
因此,在
env.local
中设置NODE_TLS_REJECT_UNAUTHORIZED=0
似乎可以解决这个问题,但如果有人知道如何解决这个问题,而不是避免它,我仍然感兴趣。源代码:https://stackoverflow.com/a/45088585/827129