[ PROMPT_NODE_26240 ]
Benchling Integration 认证
[ SKILL_DOCUMENTATION ]
# Benchling 认证参考
## 认证方法
Benchling 支持三种认证方法,每种方法适用于不同的使用场景。
### 1. API 密钥认证 (Basic Auth)
**最适合:** 个人脚本、原型设计、单用户集成
**工作原理:**
- 在 HTTP Basic 认证中将 API 密钥用作用户名
- 密码字段留空
- 所有请求必须使用 HTTPS
**获取 API 密钥:**
1. 登录您的 Benchling 账户
2. 导航至个人资料设置 (Profile Settings)
3. 找到 API 密钥部分
4. 生成新的 API 密钥
5. 安全存储(它只会显示一次)
**Python SDK 使用:**
python
from benchling_sdk.benchling import Benchling
from benchling_sdk.auth.api_key_auth import ApiKeyAuth
benchling = Benchling(
url="https://your-tenant.benchling.com",
auth_method=ApiKeyAuth("your_api_key_here")
)
**直接 HTTP 使用:**
bash
curl -X GET
https://your-tenant.benchling.com/api/v2/dna-sequences
-u "your_api_key_here:"
注意 API 密钥后的冒号,且没有密码。
**环境变量模式:**
python
import os
from benchling_sdk.benchling import Benchling
from benchling_sdk.auth.api_key_auth import ApiKeyAuth
api_key = os.environ.get("BENCHLING_API_KEY")
tenant_url = os.environ.get("BENCHLING_TENANT_URL")
benchling = Benchling(
url=tenant_url,
auth_method=ApiKeyAuth(api_key)
)
### 2. OAuth 2.0 客户端凭据
**最适合:** 多用户应用、服务账户、生产环境集成
**工作原理:**
1. 在 Benchling 开发者控制台中注册应用
2. 获取客户端 ID 和客户端密钥
3. 用凭据交换访问令牌
4. 在 API 请求中使用访问令牌
5. 令牌过期时刷新令牌
**注册应用:**
1. 以管理员身份登录 Benchling
2. 导航至开发者控制台 (Developer Console)
3. 创建新应用
4. 记录客户端 ID 和客户端密钥
5. 配置 OAuth 重定向 URI 和权限
**Python SDK 使用:**
python
from benchling_sdk.benchling import Benchling
from benchling_sdk.auth.client_credentials_oauth2 import ClientCredentialsOAuth2
auth_method = ClientCredentialsOAuth2(
client_id="your_client_id",
client_secret="your_client_secret"
)
benchling = Benchling(
url="https://your-tenant.benchling.com",
auth_method=auth_method
)
SDK 会自动处理令牌刷新。
**直接 HTTP 令牌流:**
bash
# 获取访问令牌
curl -X POST
https://your-tenant.benchling.com/api/v2/token
-H "