3.14.1 `uv auth` CLI

原文链接: https://docs.astral.sh/uv/concepts/authentication/cli/

3.14.1 uv auth CLI

uv 提供了用于存储和获取各服务凭据的高层接口。

登录服务

要为某个服务添加凭据,请使用 uv auth login 命令:

1
$ uv auth login example.com

它会提示输入凭据。

凭据也可以通过 --username 和 --password 选项提供;对于使用 __token__ 或任意用户名的服务,可以使用 --token 选项。

注意

我们建议通过 stdin 提供密钥。用 - 表示该值应从 stdin 读取,例如对 --password:

1
$ echo 'my-password' | uv auth login example.com --password -

--token 也可以使用同样的方式。

凭据添加之后,uv 会在需要从该服务获取内容的打包操作中使用它们。目前仅支持 HTTPS Basic 身份验证。这些凭据尚不会用于 Git 请求。

注意

凭据不会被校验,也就是说,错误的凭据不会导致失败。

登出服务

要移除凭据,请使用 uv auth logout 命令:

1
$ uv auth logout example.com

注意

凭据不会在远端服务器上失效,也就是说,它们只会从本地存储中移除,而不会被置为不可用。

显示某个服务的凭据

要显示为给定 URL 存储的凭据,请使用 uv auth token 命令:

1
$ uv auth token example.com

如果登录时使用了用户名,也需要一并提供,例如:

1
$ uv auth token --username foo example.com

在外部工具中使用凭据

uv auth helper 允许支持凭据助手的外部工具向 uv 请求 HTTP 凭据。目前 uv 支持 Bazel 凭据助手协议。

该命令由外部工具调用。它从 stdin 读取 JSON 请求,并向 stdout 写入 JSON 响应。当存在匹配的凭据时,响应会包含 Authorization 头:

1
2
$ echo '{"uri": "https://example.com/path"}' | uv --preview-features auth-helper auth helper --protocol=bazel get
{"headers":{"Authorization":["Basic ..."]}}

如果没有找到凭据,uv 会返回一组空的头:

1
{ "headers": {} }

注意

uv auth helper 是实验性的。使用 --preview-features auth-helper 或 UV_PREVIEW_FEATURES=auth-helper 可以消除警告。

Bazel 集成指南说明了如何在 Bazel 中使用该命令。

配置存储后端

凭据会持久化到 uv 的凭据存储。

默认情况下,凭据写入明文文件。可以通过 UV_PREVIEW_FEATURES=native-auth 启用加密的系统原生存储后端。

最后修改 September 25, 2026: 更新 (221c74c33)