CLI 认证
使用 litellm 命令行工具 (CLI) 进行 LiteLLM 网关的身份验证。如果您希望为大量开发者提供 LiteLLM 网关的自助访问权限,这将非常有用。
演示
用法
先决条件 - 启动带有 Beta 标志的 LiteLLM 代理
CLI SSO 身份验证目前处于 Beta 阶段。您在启动 LiteLLM 代理时必须设置此环境变量
export EXPERIMENTAL_UI_LOGIN="True"
litellm --config config.yaml
或者将其添加到您的代理启动命令中
EXPERIMENTAL_UI_LOGIN="True" litellm --config config.yaml
配置
JWT 令牌过期时间
默认情况下,CLI 身份验证令牌在 24 小时后过期。您可以通过在启动 LiteLLM 代理时设置 LITELLM_CLI_JWT_EXPIRATION_HOURS 环境变量来自定义此过期时间
# Set CLI JWT tokens to expire after 48 hours
export LITELLM_CLI_JWT_EXPIRATION_HOURS=48
export EXPERIMENTAL_UI_LOGIN="True"
litellm --config config.yaml
或者使用单条命令
LITELLM_CLI_JWT_EXPIRATION_HOURS=48 EXPERIMENTAL_UI_LOGIN="True" litellm --config config.yaml
示例
LITELLM_CLI_JWT_EXPIRATION_HOURS=12- 令牌在 12 小时后过期LITELLM_CLI_JWT_EXPIRATION_HOURS=168- 令牌在 7 天(168 小时)后过期LITELLM_CLI_JWT_EXPIRATION_HOURS=720- 令牌在 30 天(720 小时)后过期
启用 EXPERIMENTAL_UI_LOGIN 时,浏览器 UI 登录会话使用固定的 10 分钟过期时间(不可配置)。LITELLM_UI_SESSION_DURATION 仅适用于非实验性流程。
您可以使用以下命令检查当前令牌的有效期和过期状态
litellm-proxy whoami
归因元数据 (OIDC 声明)
将已列入白名单的 OIDC 声明映射到 LiteLLM 用户的 metadata 中,并作为 attribution_metadata 返回给 /sso/cli/poll 接口中的 CLI。这可用于稳定的归因字段(例如雇佣类型或成本中心),而无需在客户端解析庞大的组列表。
在启动前设置于代理端
export CLI_SSO_CLAIM_MAP="employment_type->acme_employment_type,org_info.department->department"
export GENERIC_USER_EXTRA_ATTRIBUTES="employment_type,org_info.department"
CLI_SSO_CLAIM_MAP 和 LITELLM_CLI_SSO_CLAIM_MAP 等效。格式:以逗号分隔的 source_claim->metadata_key 对。目标路径可选的 metadata. 前缀会被去除;值将存储在用户的 metadata JSON 列中。
| 部分 | 含义 |
|---|---|
source_claim | OIDC 声明路径(点记法),包括来自 GENERIC_USER_EXTRA_ATTRIBUTES 的字段 |
metadata_key | LiteLLM 用户 metadata 下的键(支持通过点号表示嵌套键) |
仅非敏感的标量值(string, int, float, bool)会被持久化并返回。列表、对象以及包含 token 或 secret 等片段的目标键将被丢弃。
轮询响应示例(SSO 完成后)
{
"status": "ready",
"key": "eyJ...",
"user_id": "user@company.com",
"attribution_metadata": {
"acme_employment_type": "full_time",
"department": "Engineering"
}
}
无需真实 IdP 的本地测试: 从 LiteLLM 仓库运行 python scripts/mock_oidc_server_for_cli_sso.py,将 Generic SSO 环境变量指向 http://127.0.0.1:8765,然后运行 python scripts/test_cli_sso_claims_e2e.py。
步骤
-
安装 CLI
如果您已安装 uv,您可以尝试这样做
uv tool install 'litellm[proxy]'如果运行成功,您将看到类似以下内容
...Installed 2 executables: litellm, litellm-proxy现在您只需在终端输入
litellm-proxy即可使用该工具litellm-proxy -
设置环境变量
在您的本地机器上,设置代理 URL
export LITELLM_PROXY_URL=https://:4000(请替换为您实际的代理 URL)
-
登录
litellm-proxy login这将打开一个浏览器窗口进行身份验证。如果您已将 LiteLLM 代理连接到 SSO 提供商,则应该能够使用您的 SSO 凭据登录。登录后,您可以使用 CLI 向 LiteLLM 网关发送请求。
-
发起测试请求以查看模型
litellm-proxy models list这将列出所有可供您使用的模型。