ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

pixi auth 完全指南:为私有频道与上传服务配置登录凭证

pixi auth 完全指南:为私有频道与上传服务配置登录凭证 开发工具CLI包管理器任务调度【免费下载链接】pixiPowerful system-level package manager for Linux, macOS and Windows written in Rust – building on top of the Conda ecosystem.项目地址https://gitcode.com/gh_mirrors/pi/pixi点击查看免费下载导读pixi auth是 pixi 提供的认证命令族用于向 prefix.dev、anaconda.org 等服务器登录从而访问私有频道、向包仓库上传构建产物。通过本指南你将掌握login、logout、token、status四个子命令的全部参数与典型用法理解 pixi 凭证的底层存储机制系统密钥环 /RATTLER_AUTH_FILE/ 配置覆盖文件并能独立配置 OAuth/OIDC、Token、Basic Auth 与 S3 四类认证方式。pixi auth 命令总览pixi auth本身不执行任何认证操作它是一个命令族入口语法为pixi auth COMMAND官方文档对其功能的定位是Login to prefix.dev or anaconda.org servers to access private channels即登录 prefix.dev 或 anaconda.org 服务器以访问私有频道。它共包含四个子命令命令说明login为指定主机host存储认证信息logout移除指定主机的认证信息token打印指定主机已存储的认证 tokenstatus展示已存储的认证条目及非机密 token 元数据从源码结构看该命令族在 CLI 层由 crates/pixi_cli/src/lib.rs 中的Auth(rattler::cli::auth::Args)命令变体承载并在 crates/pixi_cli/src/lib.rs 处通过rattler::cli::auth::execute(cmd)直接委托给 rattler 生态的 auth 实现pixi 侧则通过pixi_authcrate 提供凭证存储的集中配置。子命令一pixi auth loginlogin是认证的核心入口用于为给定主机存储认证信息完整用法为pixi auth login [OPTIONS] HOST其中HOST为必填参数表示要认证的主机例如prefix.dev。登录方式按大类可分为 OAuth/OIDC、S3、Token / Basic 三种分别对应不同的选项组。OAuth / OIDC 认证OAuth/OIDC 是向 prefix.dev 这类自带身份提供方IdP的服务器登录的推荐方式选项如下选项说明--oauth启用 OAuth/OIDC 认证流程--oauth-issuer-url OAUTH_ISSUER_URLOIDC issuer 地址默认取https://{host}--oauth-client-id OAUTH_CLIENT_IDOAuth client ID默认值为rattler--oauth-client-secret OAUTH_CLIENT_SECRETOAuth client secret用于机密客户端 confidential clients--oauth-flow OAUTH_FLOWOAuth 流程device-code默认、auth-code、auto--oauth-scope OAUTH_SCOPES额外请求的 OAuth scope可重复提供多次--oauth-redirect-uri OAUTH_REDIRECT_URIOAuth 回调地址默认使用随机本地端口当 IdP 侧注册了固定回调地址如http://127.0.0.1:8000/auth/oidc时必须显式指定典型用法# 向 prefix.dev 发起 OAuth 登录 pixi auth login prefix.dev # 对接自建 OIDC 身份提供方 pixi auth login my.private.host \ --oauth \ --oauth-issuer-url https://idp.example.com \ --oauth-client-id my-cli-client # 无浏览器可用的无头机器headless使用 device-code 流程 pixi auth login prefix.dev --oauth-flow device-code几点实战提示--oauth-flow的三种取值中device-code适用于无浏览器环境在终端展示一次性验证码用户在任意设备上完成授权auth-code适用于有浏览器的交互式环境auto则让 pixi 自动选择。默认--oauth-client-id为rattler这意味着与标准的 rattler/pixi 客户端注册信息兼容仅在对接自建 IdP 需要自定义客户端时覆盖它。若 IdP 注册的回调地址是固定的--oauth-redirect-uri必须与 IdP 侧配置严格一致否则回调会失败。S3 认证pixi auth login支持以s3://协议形式存储对象存储如 AWS S3 或兼容服务的访问凭证用于访问私有 bucket 频道或向 S3 上传选项说明--s3-access-key-id S3_ACCESS_KEY_IDS3 access key ID--s3-secret-access-key S3_SECRET_ACCESS_KEYS3 secret access key--s3-session-token S3_SESSION_TOKENS3 session token临时凭证场景示例pixi auth login s3://my-bucket \ --s3-access-key-id $AWS_ACCESS_KEY_ID \ --s3-secret-access-key $AWS_SECRET_ACCESS_KEY需要说明的是S3 凭证并不会明文保存在终端历史之外的位置而是进入统一的凭证存储详见下文“凭证存储机制”一节。这一能力与pixi publish的 S3 上传深度绑定在 crates/pixi_cli/src/publish/mod.rs 附近发布流程会从ctx.auth_storage解析 S3 凭证若未找到则会提示先执行pixi auth login s3://{bucket}存储凭证。Token / Basic 认证对于不支持 OAuth 的服务或手动管理 token 的场景可以使用以下选项选项说明--token TOKEN用于 prefix.dev 的 token--username USERNAME用于 HTTP Basic 认证的用户名--password PASSWORD用于 HTTP Basic 认证的密码--conda-token CONDA_TOKEN用于 anaconda.org / quetz 认证的 token示例# prefix.dev 的 token pixi auth login repo.prefix.dev --token pfx_JQEV-m_2bdz-D8NSyRSaAndHANx0qHjq7f2iD # anaconda.org 的 conda token pixi auth login anaconda.org --conda-token ABCDEFGHIJKLMNOP # 自建 quetz 服务的 Basic 认证 pixi auth login https://myquetz.server --username john --password xxxxxx注意区分--token面向 prefix.dev 的 token 体系--conda-token面向 anaconda.org / quetz 的 token 体系而--username/--password是通用的 HTTP Basic 认证。三种方式按服务类型选择其一即可。其他选项--user-agent USER_AGENT指定后续请求使用的 User-Agent 请求头可用于自定义客户端标识。子命令二pixi auth logoutlogout用于移除指定主机的认证信息用法为pixi auth logout [OPTIONS] [HOST]参数与选项参数/选项说明[HOST]要移除认证的主机。当启用auth-interactive配置时可省略该参数也不要加--all以交互方式选择--all移除全部已存储的认证条目并逐一吊销对应的 OAuth token示例pixi auth logout repo.prefix.dev pixi auth logout anaconda.org pixi auth logout s3://my-bucket两个细节值得注意注销时支持与登录时对应的s3://协议主机形式说明 S3 凭证与普通主机凭证存放在同一套存储中。--all会主动吊销revokeOAuth token而不仅是删除本地记录这对已泄露或不再需要的 token 是更彻底的处理方式。交互式选择依赖配置项auth-interactive这是 pixi 全局配置的一部分。子命令三pixi auth tokentoken用于打印指定主机已存储的认证 token用法为pixi auth token HOST其中HOST为必填参数如prefix.dev。该命令适合在脚本或 CI 流水线中取出 token 供其他工具复用。由于 token 是敏感信息建议仅在受控环境中使用并注意避免将输出写入日志。子命令四pixi auth statusstatus用于查看已存储的认证条目及其非机密元数据用法为pixi auth status [OPTIONS]选项选项说明--details展示端点 URL、client ID 及其他 IdP 内省introspection字段主要用于调试与token不同status刻意只展示“非机密”信息它能列出当前存储了哪些主机的认证但不会泄露 token 本体仅在需要排查 OAuth 配置问题时如 issuer 地址、client ID 是否匹配才使用--details展开调试字段。凭证存储机制token 存在哪里pixi auth的凭证存储由pixi_authcrate 集中管理。查看 crates/pixi_auth/src/lib.rs 的get_auth_store实现可以发现存储层的优先级与构成如下环境变量RATTLER_AUTH_FILE若设置则优先使用该文件作为凭证文件file storage。pixi 全局配置的authentication_override_file若配置了该选项其指定的文件会被插入存储链位置紧随RATTLER_AUTH_FILE之后若文件不存在会输出 warning 日志crates/pixi_auth/src/lib.rs。系统密钥环 / 默认凭证存储作为兜底后端凭证默认写入系统 keyring。对应关系也可以在文档中交叉验证环境变量清单见 docs/reference/environment_variables.mdRATTLER_AUTH_FILE未设置时使用系统密钥环。全局配置项authentication_override_file见 docs/reference/pixi_configuration.md该配置项与default_channels等一样保留了snake_case写法兼容authentication_override_file等价于 kebab-case 形式因此既可以在config.toml中写authentication_override_file ...也可以写 kebab-case 版本。实际使用中pixi auth login写入的凭证会被这些存储后端按上述优先级读取所有需要访问私有频道的网络请求都会携带这些凭证。例如在pixi publish中crates/pixi_cli/src/publish/mod.rs 通过pixi_auth::get_auth_store(config)构建认证存储随后用于向 prefix.dev、anaconda.org、cloudsmith、quetz、artifactory 以及 S3 上传包对应 pixi publish 的多个后端。更详细的多服务认证配置说明可参考 docs/deployment/authentication.md。使用场景串讲综合以上内容pixi auth的典型工作流是访问私有频道使用 conda-forge 之外的私有源时先pixi auth login写入凭证后续pixi install、pixi run等解析依赖时即可通过认证访问私有 repodata 与包文件。发布包pixi publish向 prefix.dev / anaconda.org / quetz / artifactory / cloudsmith 上传时复用 auth 存储S3 场景先执行pixi auth login s3://bucket再发布。管理与排障pixi auth status检查已登录主机pixi auth token取用 token 给外部工具pixi auth logout --all一键清理并吊销 OAuth token。小结pixi auth提供login/logout/token/status四个子命令覆盖凭证的写入、删除、读取与巡检全生命周期login支持 OAuth/OIDC含 device-code 无头流程、S3 凭证、prefix.dev token、anaconda.org/quetz conda-token 以及 HTTP Basic 认证五类方式凭证默认存放于系统密钥环可被RATTLER_AUTH_FILE环境变量或全局配置authentication_override_file覆盖存储逻辑集中在 crates/pixi_auth/src/lib.rsCLI 层将auth命令委托给 rattler 的 auth 实现见 crates/pixi_cli/src/lib.rspixi 侧主要承担存储配置与 publish 等命令的集成。赞分享开发工具CLI包管理器任务调度【免费下载链接】pixiPowerful system-level package manager for Linux, macOS and Windows written in Rust – building on top of the Conda ecosystem.项目地址https://gitcode.com/gh_mirrors/pi/pixi点击查看免费下载相关推荐pixi 使用 S3 对象存储作为 Conda 频道认证、配置与上传全指南pixi 使用 S3 对象存储作为 Conda 频道认证、配置与上传全指南 导读 本文围绕 pixi 如何将 AWS S3以及各类 S3 兼容存储作为 C开发工具CLI包管理器任务调度Pixi 服务器认证全指南prefix.dev、anaconda.org、quetz、S3 与 PyPI 的登录与凭据管理Pixi 服务器认证全指南prefix.dev、anaconda.org、quetz、S3 与 PyPI 的登录与凭据管理 导读 在 Linux / macO开发工具CLI包管理器任务调度HyperFrames 如何登录 HeyGen 账号并用 auth status 验证凭据配置HyperFrames 如何登录 HeyGen 账号并用 auth status 验证凭据配置 HyperFrames 在本地创建和渲染视频不需要任何账号但当音视频视频AI 技能上一篇当AI代理需要智能浏览器操作时Browser-Use如何解决网页交互与代理配置难题下一篇vanilla-extract的迁移风险缓解工具风险工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表