本文档涵盖了 g4f 提供商用来访问 AI 服务的各种认证机制。该系统支持多种认证策略,从 API 密钥和浏览器自动化到 HAR 文件解析和 cookie 管理。
有关特定提供商实现的信息,请参阅 已认证提供商。有关提供商开发模式的详细信息,请参阅 提供商开发。
g4f 系统实现了一个复杂的、多层级的认证架构,以支持超过 50 个 AI 提供商,每个提供商都有不同的认证要求。根据复杂性和自动化程度,认证方法被分为几类。
认证方法类别
来源:g4f/Provider/needs_auth/OpenaiAPI.py1-11 g4f/Provider/openai/har_file.py25-43 g4f/Provider/You.py75-90
HAR(HTTP Archive)文件认证从浏览器网络录音中提取会话数据,以与需要复杂浏览器端认证流程的服务进行认证。
HAR 文件认证流程
来源:g4f/Provider/openai/har_file.py44-56 g4f/Provider/openai/har_file.py58-90 g4f/Provider/openai/har_file.py94-107
RequestConfig 类将从 HAR 文件中提取的认证数据集中起来
| 字段 | 类型 | 目的 |
|---|---|---|
cookies | dict | 来自浏览器的会话 cookie |
headers | dict | 请求头,包括认证令牌 |
访问令牌 | str | 用于 API 认证的 Bearer 令牌 |
proof_token | list | 工作量证明令牌数据 |
turnstile_token | str | Cloudflare Turnstile 令牌 |
arkose_request | arkReq | Arkose Labs 挑战请求 |
arkose_token | str | 生成的 arkose 令牌 |
来源:g4f/Provider/openai/har_file.py25-33
系统通过加密操作处理 Arkose Labs 的反机器人挑战
Arkose 请求处理
来源:g4f/Provider/openai/har_file.py109-127 g4f/Provider/openai/har_file.py129-151
API 密钥认证是最直接的方法,由提供传统 REST API 访问的提供商使用。
OpenaiTemplate 类为基于 API 密钥的提供商提供了一个标准化的模式
API 密钥提供商架构
来源:g4f/Provider/needs_auth/OpenaiAPI.py5-11 g4f/Provider/needs_auth/Groq.py5-11 g4f/Provider/needs_auth/ThebApi.py22-28
| 提供商 | API 基础地址 | 登录 URL | 特殊功能 |
|---|---|---|---|
| OpenaiAPI | https://api.openai.com/v1 | 平台 API 密钥页面 | 标准 OpenAI 兼容性 |
| Groq | https://api.groq.com/openai/v1 | 控制台密钥页面 | 模型别名支持 |
| ThebApi | https://api.theb.ai/v1 | Beta 主页 | 自定义模型参数 |
| DeepInfra | https://api.deepinfra.com/v1/openai | 仪表板 API 密钥 | 动态模型发现 |
| PerplexityApi | https://api.perplexity.ai | 设置 API 页面 | 在线搜索模型 |
来源:g4f/Provider/needs_auth/OpenaiAPI.py8-9 g4f/Provider/needs_auth/Groq.py7-8 g4f/Provider/needs_auth/DeepInfra.py12-13
浏览器自动化通过使用 nodriver 进行无头浏览器控制,来与需要交互式浏览器会话的服务进行认证。
浏览器自动化过程
You 提供商展示了用于 cookie 提取的浏览器自动化
Cookie 管理处理跨请求的持久化会话数据,支持自动发现和手动配置。
Cookie 管理架构
来源:g4f/Provider/You.py76-79 g4f/Provider/needs_auth/Cerebras.py35-36
| 提供商 | 所需 Cookie | 提取方法 | 目的 |
|---|---|---|---|
| You.com | afUserId | 浏览器自动化 | 用户会话标识 |
| Cerebras | .cerebras.ai 域 | 系统 cookie | 演示 API 密钥检索 |
| OpenAI Chat | 来自 HAR 的会话 cookie | HAR 文件解析 | ChatGPT 网页界面 |
来源:g4f/Provider/You.py80 g4f/Provider/needs_auth/Cerebras.py36
工作量证明令牌通过计算挑战来验证合法的客户端行为,主要由 OpenAI 的网页界面使用。
工作量证明算法
来源:g4f/Provider/openai/proofofwork.py7-38
Proof 令牌包含浏览器环境数据和计算证明
来源:g4f/Provider/openai/proofofwork.py16-25
不同的提供商根据其特定的要求和安全模型集成认证方法。
提供商认证方法
来源: g4f/Provider/needs_auth/__init__.py1-32 g4f/Provider/You.py75-90 g4f/Provider/needs_auth/Cerebras.py34-42
Cerebras 提供商演示了结合使用 cookie 和 API 密钥提取的混合身份验证。