API 认证与令牌:Header 写法、分组和安全边界
绝大多数 API 接入失败都不是代码框架问题,而是地址、请求头、令牌分组或密钥暴露边界没有先定好。本章先把认证规则讲清楚,再给出可直接复制的检查命令。
看这篇前,先准备好这 4 件事
认证页不是从零注册教程。如果下面任意一项还没准备好,先回到对应页面补齐,再复制本页命令。
| 准备项 | 为什么需要 | 还没准备好时看哪里 |
|---|---|---|
| 一条专用 6星中转 令牌 | 认证检查必须使用真实令牌,但教程和工单里只能出现脱敏片段。 | 令牌与安全 |
| 目标模型 ID | 认证成功不代表模型可调用;模型 ID 要来自当前令牌可见范围。 | 模型列表与可见性 |
| 接口口径 | OpenAI 兼容和 Anthropic Messages 的 Base URL、Header、请求体不同。 | 聊天与 Messages 选择表 |
| 安全保存位置 | 生产代码只能从服务端环境变量或 Secret 读取令牌。 | 服务端保存密钥 |
先记住这 5 条
令牌只放服务端
浏览器、公开仓库、截图、工单、客户端源码里都不应该出现完整令牌。
OpenAI 兼容优先用 Bearer
请求头写 Authorization: Bearer sk-你的6星中转令牌,Base URL 用 https://www.6xin.cc/v1。
Claude 原生看工具要求
直接请求 Messages 时常用 x-api-key;Claude Code 或 SDK 配置时按工具的 key 字段填写。
分组决定可见模型
同一个令牌能不能调用某个模型,取决于令牌绑定的模型分组和模型能力。
模型列表不是最终验收
/v1/models 只能证明可见,正式接入还要跑真实聊天、图片或视频请求。
泄露后立即轮换
先禁用或删除旧令牌,再创建新令牌并更新服务端 Secret。
认证 Header 怎么写
6星中转 支持主流客户端常见的两类认证写法。你不需要同时发送所有 Header,按所用协议和工具填写即可。
| 场景 | 推荐 Header | Base URL | 备注 |
|---|---|---|---|
| OpenAI 兼容接口 | Authorization: Bearer sk-你的6星中转令牌 |
https://www.6xin.cc/v1 |
适合 /chat/completions、/models、图像和视频接口。 |
| Anthropic Messages 裸请求 | x-api-key: sk-你的6星中转令牌 |
https://www.6xin.cc |
直接 curl 时请求完整路径 /v1/messages,并带上 anthropic-version。 |
| SDK 或图形客户端 | 填写工具提供的 api_key、apiKey 或 API Key 字段 |
按工具所属协议填写 | 工具会把 key 转成它需要的 Header;重点是不要把 OpenAI 和 Claude 的 Base URL 混用。 |
令牌从哪里来,怎么保存
在 6星中转 创建令牌
进入控制台后按用途创建令牌。名称建议写清楚环境、项目和用途,例如 prod-web-chat 或 local-codex-cli。
绑定合适的模型分组
聊天、Claude Code、Codex CLI、图像、视频可能需要不同分组。分组选错时,通常会出现 403 或模型不可见。
复制后只保存一次
令牌创建后放入服务端环境变量、Secret 管理或本机工具配置。不要放在聊天记录和公开文档里。
用短请求验证
先请求模型列表,再跑一次真实生成。两步都过,才算基础认证可用。
export COMEU_API_KEY="sk-你的6星中转令牌"
curl "https://www.6xin.cc/v1/models" \
-H "Authorization: Bearer $COMEU_API_KEY"
令牌、分组和模型的关系
认证通过只说明“这个令牌有效”,不代表它能调用所有模型。6星中转 会根据令牌绑定的分组和模型能力决定你能看到什么、能调用什么。
| 现象 | 常见原因 | 先检查 |
|---|---|---|
/v1/models 返回空或模型很少 |
令牌分组没有包含目标模型。 | 模型分组、令牌绑定范围。 |
| 模型列表有模型,但生成 403 | 请求模型 ID 与实际分组能力不匹配,或模型能力不支持当前接口。 | 模型 ID、接口类型、分组能力。 |
| 聊天可用,图像或视频失败 | 聊天分组和多媒体分组不是同一类能力。 | 图像与视频,确认模型能力。 |
| 本地可用,部署后 401 | 部署平台 Secret 没更新,或变量名与代码读取不一致。 | 环境变量名、部署日志、脱敏后的启动配置。 |
两条最小认证检查命令
第一次接入建议先跑这两条。第一条检查 OpenAI 兼容认证,第二条检查 Anthropic Messages 口径。
OpenAI 兼容:聊天补全
curl "https://www.6xin.cc/v1/chat/completions" \
-H "Authorization: Bearer $COMEU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4.1-mini",
"messages": [
{"role": "user", "content": "回复 OK"}
]
}'
Anthropic Messages:原生 Claude 口径
curl "https://www.6xin.cc/v1/messages" \
-H "x-api-key: $COMEU_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-示例模型",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "回复 OK"}
]
}'
https://www.6xin.cc 这个根地址;如果你直接用 curl 请求裸接口,就写完整路径 https://www.6xin.cc/v1/messages。
服务端保存密钥的推荐方式
公开产品、网站和移动应用都应该把 6星中转 调用放在服务端。前端只传业务参数,服务端负责选择模型、带令牌请求 6星中转、记录脱敏日志。
| 位置 | 是否适合保存完整令牌 | 原因 |
|---|---|---|
| 服务端环境变量 | 适合 | 部署平台可用 Secret 管理,代码里不需要写死令牌。 |
| CI/CD Secret | 适合 | 适合自动化测试和部署,但日志必须脱敏。 |
| 本机命令行工具配置 | 谨慎使用 | 只适合个人工具;不要把配置文件同步到公开仓库。 |
| 浏览器前端源码 | 不适合 | 任何人都能查看源码或网络请求,完整令牌会泄露。 |
| 截图、工单、聊天记录 | 不适合 | 排障时只保留前后几位脱敏片段,例如 sk-abc...xyz。 |
认证相关错误怎么查
| 错误 | 优先判断 | 处理方式 |
|---|---|---|
401 unauthorized |
令牌为空、复制错、Header 名写错,或部署环境变量没生效。 | 重新复制令牌;打印脱敏后的变量是否存在;确认 Bearer 后有空格。 |
403 forbidden |
令牌有效,但分组或模型权限不匹配。 | 检查模型分组和模型 ID;必要时给该用途创建单独令牌。 |
404 not found |
Base URL 或路径不对,或模型 ID 不存在。 | OpenAI 兼容用 https://www.6xin.cc/v1;Claude 原生配置用根地址。 |
model not found |
模型 ID 手写错,或令牌分组看不到目标模型。 | 从模型广场复制模型 ID,或用 /v1/models 检查可见性。 |
| 部署后突然失败 | Secret 没同步、旧令牌被禁用、服务没有重启读取新变量。 | 检查部署平台 Secret 版本和服务启动时间,不要在日志里输出完整令牌。 |
这些情况先停下来,不要继续换更多参数
认证问题最怕同时改 Header、Base URL、模型和部署 Secret。先把错误固定住,再一次只排查一个点。
| 现象 | 先停止什么 | 下一步只做这一件事 |
|---|---|---|
401 unauthorized |
不要继续换模型。 | 只检查令牌是否存在、Bearer 是否带空格、服务是否读到同一个环境变量。 |
403 forbidden |
不要把令牌换成管理员大权限。 | 先确认当前令牌分组和目标模型是否匹配。 |
| 本地成功,部署后失败 | 不要把本地令牌贴进代码或日志。 | 只检查部署平台 Secret 是否更新,并重启对应服务。 |
| 日志里出现完整令牌 | 不要继续截图转发。 | 按泄露处理:禁用旧令牌、创建新令牌、清理公开位置。 |
/v1/models 成功但生成失败 |
不要把“认证成功”当成“链路全部可用”。 | 继续跑短生成,确认模型能力和分组都可调用。 |
令牌轮换和止损流程
只要怀疑令牌出现在公开位置,就按泄露处理。不要先争论有没有被人看到,先把风险关掉。
禁用旧令牌
在 6星中转 控制台禁用或删除疑似泄露的令牌,停止继续被调用。
创建新令牌
按同样用途和分组创建新令牌;如果旧令牌用途太宽,这次顺手拆小权限。
更新服务端 Secret
只更新受影响服务,不要把所有项目一起改掉。更新后重启或重新部署对应服务。
跑一次真实请求
先请求 /v1/models,再跑短生成,确认新令牌和分组可用。
清理泄露位置
删除公开截图、工单、提交记录里的明文令牌。Git 历史已经公开时,需要按泄露处理,而不是只改最新文件。
认证接入验收清单
| 验收项 | 通过标准 | 不通过时看哪里 |
|---|---|---|
| 环境变量 | 服务启动时能读到令牌变量,但日志不输出完整值。 | 服务端保存密钥 |
| Header | OpenAI 兼容请求使用 Bearer;Messages 裸请求使用工具要求的 key 头。 | 认证 Header |
| 模型可见性 | /v1/models 返回目标模型,且模型 ID 来自 6星中转 页面或接口。 |
模型列表与可见性 |
| 真实生成 | 至少一个 /v1/chat/completions 或 /v1/messages 短请求能返回文本。 |
聊天与 Messages |
| 权限隔离 | 本地、测试、生产、图像视频、个人工具不共用同一枚令牌。 | 令牌与安全 |
| 泄露预案 | 知道在哪里禁用旧令牌、如何替换 Secret、如何跑回归请求。 | 令牌轮换 |
认证仍然失败时,先整理这些定位信息
认证问题最容易因为截图里暴露完整令牌而扩大风险。提交问题前只整理脱敏信息,并先确认错误是 401、403、404 还是部署 Secret 没生效。
| 信息 | 建议内容 | 不要提供什么 |
|---|---|---|
| 认证方式 | Bearer Token、x-api-key、SDK API Key 字段或图形客户端字段。 |
不要截图完整令牌输入框。 |
| Base URL 和请求路径 | https://www.6xin.cc/v1、https://www.6xin.cc,以及实际请求路径。 |
不要把令牌拼在 URL 查询参数里。 |
| 令牌分组和片段 | 令牌用途、分组名称、脱敏片段,例如 sk-前6位...后4位。 |
不要提交完整 API Key。 |
| 最小请求结果 | /v1/models 和一次真实生成的状态码、错误摘要。 |
不要只贴业务系统的大段日志。 |
| 运行环境 | 本地终端、部署平台、容器、Serverless、图形客户端或 CLI 工具。 | 不要混用本地和生产的报错截图。 |