跳至主要内容

CLI 认证

使用 litellm 命令行工具 (CLI) 进行 LiteLLM 网关的身份验证。如果您希望为大量开发者提供 LiteLLM 网关的自助访问权限,这将非常有用。

演示

用法

先决条件 - 启动带有 Beta 标志的 LiteLLM 代理

Beta 功能 - 必需

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 小时)后过期
实验性 UI 会话

启用 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_MAPLITELLM_CLI_SSO_CLAIM_MAP 等效。格式:以逗号分隔的 source_claim->metadata_key 对。目标路径可选的 metadata. 前缀会被去除;值将存储在用户的 metadata JSON 列中。

部分含义
source_claimOIDC 声明路径(点记法),包括来自 GENERIC_USER_EXTRA_ATTRIBUTES 的字段
metadata_keyLiteLLM 用户 metadata 下的键(支持通过点号表示嵌套键)

仅非敏感的标量值(string, int, float, bool)会被持久化并返回。列表、对象以及包含 tokensecret 等片段的目标键将被丢弃。

轮询响应示例(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

步骤

  1. 安装 CLI

    如果您已安装 uv,您可以尝试这样做

    uv tool install 'litellm[proxy]'

    如果运行成功,您将看到类似以下内容

    ...
    Installed 2 executables: litellm, litellm-proxy

    现在您只需在终端输入 litellm-proxy 即可使用该工具

    litellm-proxy
  2. 设置环境变量

    在您的本地机器上,设置代理 URL

    export LITELLM_PROXY_URL=https://:4000

    (请替换为您实际的代理 URL)

  3. 登录

    litellm-proxy login

    这将打开一个浏览器窗口进行身份验证。如果您已将 LiteLLM 代理连接到 SSO 提供商,则应该能够使用您的 SSO 凭据登录。登录后,您可以使用 CLI 向 LiteLLM 网关发送请求。

  4. 发起测试请求以查看模型

    litellm-proxy models list

    这将列出所有可供您使用的模型。

🚅
LiteLLM 企业版
SSO/SAML、审计日志、支出跟踪、多团队管理和护栏 —— 专为生产环境构建。
了解更多 →