题意:部署时自动轮换 OpenAI API 密钥
问题背景:
I'm building a web page using openai gpt API in reactjs. I saved my API key on .env file then gitignored it. And I deployed my code with gh-pages, but openai detects it and rotate the key automatically. How can I use API key properly?
我正在使用 ReactJS 构建一个网页,使用 OpenAI GPT API。我将 API 密钥保存在 .env
文件中,并将其添加到 .gitignore
中。然后我使用 gh-pages 部署了代码,但 OpenAI 检测到了这个密钥并自动轮换了它。我应该如何正确使用 API 密钥?
const DEFAULT_PARAMS = {
model: "gpt-3.5-turbo",
messages: [{"role": "user",
"content": message
}],
temperature: 1,
max_tokens: 1000
};
const params_ = {...DEFAULT_PARAMS};
const result = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + String(process.env.REACT_APP_OPENAI_API_KEY)
},
body: JSON.stringify(params_)
});
const data = await result.json()
问题解决:
You can refer to this question regarding securing secrets on static websites hosted on GitHub Pages.
你可以参考这个问题,了解如何在 GitHub Pages 上托管的静态网站中保护秘密信息。
Short answer: it's impossible because everything is exposed in the code.
简短的回答:这是不可能的,因为代码中的所有内容都是公开的。
You need to use another way to deploy your website. For example, frameworks like NextJS.
你需要使用另一种方式来部署你的网站。例如,使用像 NextJS 这样的框架。