Skip to content
Cloudflare Docs
非官方翻译 - 此文档为非官方中文翻译版本,仅供参考。如有疑问请以 英文官方文档 为准。

身份验证

在 AI 网关中使用已验证网关通过要求每个请求都包含有效的授权令牌来增加安全性。此功能在存储日志时特别有用,因为它可以防止未经授权的访问,并防范可能增加日志存储使用量并使您难以找到所需数据的无效请求。启用已验证网关后,只有具有正确令牌的请求才会被处理。

使用仪表板设置已验证网关

  1. 转到您要启用身份验证的特定网关的设置。
  2. 选择 创建身份验证令牌 以生成具有所需 Run 权限的自定义令牌。务必安全地保存此令牌,因为它不会再次显示。
  3. 在对此网关的每个请求中包含带有您的 API 令牌的 cf-aig-authorization 标头。
  4. 返回设置页面并开启已验证网关。

使用 OpenAI 的示例请求

Terminal window
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai/chat/completions \
--header 'cf-aig-authorization: Bearer {CF_AIG_TOKEN}' \
--header 'Authorization: Bearer OPENAI_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "What is Cloudflare?"}]}'

使用 OpenAI SDK:

import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://gateway.ai.cloudflare.com/v1/account-id/gateway/openai",
defaultHeaders: {
"cf-aig-authorization": `Bearer {token}`,
},
});

使用 Vercel AI SDK 的示例请求

import { createOpenAI } from "@ai-sdk/openai";
const openai = createOpenAI({
baseURL: "https://gateway.ai.cloudflare.com/v1/account-id/gateway/openai",
headers: {
"cf-aig-authorization": `Bearer {token}`,
},
});

预期行为

下表概述了基于身份验证设置和标头状态的网关行为:

身份验证设置标头信息网关状态响应
开启存在标头已验证网关请求成功
开启无标头错误由于缺少授权而请求失败
关闭存在标头未验证网关请求成功
关闭无标头未验证网关请求成功