跳到正文

API 密钥

API Key

中级通用

API 密钥(API Key)是服务提供方发给调用方的一串凭证,调用 API 时用它识别请求来自哪个项目或账户。它让服务方决定是否接受请求,并统计用量;例如网站后端调用 AI 模型时会带上密钥。

你可能会说:「我想让网站调用 AI 服务,但不想把服务商给的那串凭证暴露给访客,该怎么接?」

读之前建议先了解

动手看看

未带密钥网站后端请求文案服务方鉴权检查凭证模型服务尚未调用账户用量尚未记账
1

用户点了生成商品文案,网站后端向 AI 服务发出请求,但这次配置漏了 API 密钥。

要点

  1. 1

    它让服务方认出调用方

    你向模型服务发请求时,通常会附上服务方发给你的 API 密钥。因为服务方能据此识别项目或账户,所以可以决定是否接受请求、记录用量;密钥本身不是用户输入的提问内容。

  2. 2

    它不等于访客的登录状态

    如果你做的是给多人使用的 AI 工具,所有请求可能都经由你的后端使用同一把服务商密钥。服务商认出的是你的项目,不会因此知道当前访客是谁;访客身份仍要由你的产品自己处理。

  3. 3

    密钥放在哪会影响泄露风险

    网页前端的代码和请求能被访客查看,所以把密钥写进去,相当于把调用凭证交给访客。通常让前端请求你的后端,再由后端读取环境变量中的密钥去调用服务;若密钥泄露,就撤销或轮换它。

容易混淆的地方

API 密钥主要用来识别调用某个服务的项目或应用,不等于用户登录凭证。OAuth 处理的是用户授权应用访问其账户资源,例如允许日历应用读取你的日程。Token 则是更宽泛的说法:某些访问令牌也能放进 API 请求里,但不能因为它也叫 Token,就认定它与长期使用的 API 密钥有相同用途或有效期。

什么时候用

适合用

  • 网站后端调用付费 AI 模型时,用服务商发放的 API 密钥识别项目并统计用量。
  • 后台定时同步外部服务的数据时,用该服务提供的 API 密钥发起机器间调用。
  • 你做一个 AI 工具的测试环境,想用独立密钥区分测试请求与正式环境的用量。

不适合用

  • 访客要登录你的网站时,别给每人发一把服务商 API 密钥;用产品自己的登录会话。
  • 应用要读取用户私人日历时,单靠应用的 API 密钥不合适;用服务支持的用户授权流程。
  • 页面只读取无需认证的公开接口时,不必为了发请求额外创建 API 密钥,按接口要求调用即可。

练一练

你做了一个网页聊天工具,需要调用付费 AI 服务。访客会直接打开网页使用。密钥和调用流程怎么安排更合适?

让 AI 帮你做

请为这个网页 AI 聊天功能接入服务商 API:前端只请求我们的后端;后端从环境变量读取 API 密钥并调用服务商。请检查代码和日志是否会暴露密钥,并说明测试时如何验证前端拿不到它。

接下来学什么