身份认证
了解如何使用 Browserman 的 API 和 MCP 服务进行身份验证。
API 密钥认证
Browserman 使用 API 密钥进行身份验证。API 密钥与你的账号关联,授予对 API 的访问权限。
获取 API 密钥
- 访问 app.browserman.run 并登录
- 在左侧边栏点击 API 密钥
- 点击右上角的 + 新建密钥按钮
- 为你的密钥输入描述性名称:
- 示例:"生产 API"、"开发"、"CI/CD 流水线"、"我的项目"
- 选择一个有助于识别此密钥用途的名称
- 点击创建密钥
- 重要:立即复制密钥并安全存储
- 出于安全原因,密钥只显示一次
- 如果丢失,你需要创建新密钥
- 密钥将出现在你的密钥列表中,包含:
- 密钥名称
- 掩码的密钥值(例如
sk_live_xxxx...xxxx) - 创建日期
- 最后使用日期
- 状态(活跃/已撤销)
保护你的 API 密钥
你的 API 密钥授予对 Browserman 账号的完全访问权限。永远不要分享它,不要提交到版本控制,也不要在客户端代码中暴露它。
使用 API 密钥
在每个请求的 Authorization 头中包含你的 API 密钥:
bash
curl https://api.browserman.run/api/platforms \
-H "Authorization: Bearer YOUR_API_KEY"JavaScript:
javascript
const response = await fetch('https://api.browserman.run/api/platforms', {
headers: {
'Authorization': `Bearer ${API_KEY}`
}
});Python:
python
import requests
response = requests.get(
'https://api.browserman.run/api/platforms',
headers={'Authorization': f'Bearer {API_KEY}'}
)MCP 认证
对于模型上下文协议(MCP)集成,在 MCP 客户端中配置你的 API 密钥。
Claude Desktop
编辑你的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
json
{
"mcpServers": {
"browserman": {
"url": "https://mcp.browserman.run",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}安全最佳实践
1. 永远不要提交 API 密钥
不好:
javascript
// ❌ 永远不要这样做
const API_KEY = 'sk_live_abc123def456';好:
javascript
// ✅ 使用环境变量
const API_KEY = process.env.BROWSERMAN_API_KEY;2. 使用环境变量
Node.js:
bash
export BROWSERMAN_API_KEY=sk_live_abc123def456javascript
require('dotenv').config();
const API_KEY = process.env.BROWSERMAN_API_KEY;Python:
bash
export BROWSERMAN_API_KEY=sk_live_abc123def456python
import os
API_KEY = os.environ.get('BROWSERMAN_API_KEY')3. 定期轮换密钥
设置轮换 API 密钥的时间表:
- 生产密钥:每 90 天
- 开发密钥:每 180 天
- 如果泄露:立即
轮换流程:
- 生成新的 API 密钥
- 使用新密钥更新应用程序
- 监控问题
- 24 小时后撤销旧密钥
4. 为不同环境使用单独的密钥
bash
# 开发
BROWSERMAN_API_KEY=sk_dev_xyz789
# 预发布
BROWSERMAN_API_KEY=sk_staging_abc123
# 生产
BROWSERMAN_API_KEY=sk_live_def4565. 监控 API 密钥使用情况
定期查看 API 密钥活动:
- 前往 设置 > API 密钥
- 检查最后使用时间戳
- 查看请求计数
- 撤销未使用的密钥
管理 API 密钥
列出你的密钥
在控制台查看所有 API 密钥:
- 前往设置 > API 密钥
- 查看所有活跃密钥及其:
- 名称
- 创建日期
- 最后使用日期
- 请求计数
- 状态
撤销密钥
要撤销 API 密钥:
- 前往设置 > API 密钥
- 找到要撤销的密钥
- 点击撤销或删除
- 确认操作
注意:撤销密钥是立即生效且不可撤销的。使用此密钥的任何应用程序将立即停止工作。
速率限制
API 密钥根据你的计划受速率限制:
免费计划
- 每小时 100 个请求
- 每天 1,000 个请求
- 每月 10,000 个请求
专业计划
- 每小时 1,000 个请求
- 每天 10,000 个请求
- 每月 100,000 个请求
企业计划
- 自定义限制
- 专属支持
- SLA 保证
速率限制头
在响应头中检查速率限制状态:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 995
X-RateLimit-Reset: 1642248000JavaScript 示例:
javascript
const response = await fetch('https://api.browserman.run/api/platforms', {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const remaining = response.headers.get('X-RateLimit-Remaining');
const reset = response.headers.get('X-RateLimit-Reset');
console.log(`剩余请求:${remaining}`);
console.log(`重置时间:${new Date(reset * 1000)}`);故障排除
无效的 API 密钥
错误:
json
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}解决方案:
- 验证密钥是否正确
- 检查额外的空格或字符
- 确保密钥未被撤销
- 如需要生成新密钥
速率受限
错误:
json
{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Try again in 3600 seconds."
}
}解决方案:
- 等待速率限制重置
- 实施请求节流
- 升级到更高计划
- 联系支持请求临时增加
安全检查清单
部署到生产环境前:
- [ ] API 密钥存储在环境变量中
- [ ] 为开发/预发布/生产环境设置单独的密钥
- [ ] 密钥永远不会提交到版本控制
- [ ] 实施速率限制处理
- [ ] 设置监控和告警
- [ ] 记录密钥轮换流程
- [ ] 撤销任何未使用或测试密钥
- [ ] 配置最小所需权限
- [ ] 在账号上启用两步验证
- [ ] 查看并理解安全政策
