"uip Login" 的语法和选项,用于根据 UiPath Cloud 对 UiPath CLI 进行身份验证,并将会话在本地保留。
uip login针对 UiPath Cloud 对 CLI 进行身份验证,并将生成的会话保留在本地.uipath/文件夹中。成功后,CLI 具有访问令牌和选定的租户;后续命令运行的工具将自动选择这些命令。有关凭据模型,请参阅“身份验证” ;有关文件夹所在的位置,请参阅“会话和凭据” 。
有关检查状态的信息,请参阅uip login status 。要关闭会话,请参阅uip logout 。
大纲
uip login [--tenant <name>] [--organization <name>]
[--authority <url>] [--client-id <id>] [--client-secret <secret>]
[--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y
uip login [--tenant <name>] [--organization <name>]
[--authority <url>] [--client-id <id>] [--client-secret <secret>]
[--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y
每个uip login子命令都遵循全局选项( --output 、 --output-filter 、 --log-level 、 --log-file 、 --profile 、 --interactive / --no-interactive )。退出代码遵循标准合同。
UIP 登录
通过浏览器以交互方式进行身份验证,或使用外部应用程序客户端凭据或联合(工作负载身份)OIDC 令牌以非交互式方式进行身份验证。
参数
无。
选项
-f, --file <folder>— 凭据文件夹的路径。会话将保留在<folder>中。如果没有它,CLI 将使用默认位置(请参阅会话和凭据)。与全局--profile标志互斥。--authority <url>— 自定义授权 URL,例如https://cloud.uipath.com(默认)、https://govcloud.uipath.us(公共部门)或 Automation Suite 主机。https://前缀可以省略(cloud.uipath.com有效)。--client-id <id>— UiPath 外部应用程序的客户端 ID 或应用程序 ID。接受env.NAME以从环境变量中读取。--client-secret <secret>— 机密外部应用程序的客户端密码。接受env.NAME以从环境变量中读取。与--client-assertion互斥。--client-assertion <jwt>— 用于联合登录(工作负载身份)的 OIDC 令牌 (JWT),而不是客户端密码。接受env.NAME(推荐)以从环境变量中读取,将原始令牌作为文本值传递会打印警告,否则它会出现在 shell 历史记录、流程列表和 CI 日志中。需要--client-id。与--client-secret互斥。-s, --scope <scopes>— 以逗号或空格分隔的作用域(例如"OR.Folders OR.Jobs")。与外部应用程序或联合凭据一起使用。-t, --tenant <name>— 租户名称(非交互模式)。如果省略,则与全局--interactive标志配对,以便 CLI 可以提示输入标志。--organization <name>— 组织逻辑名称,在浏览器登录期间预选。当您的用户属于多个组织时,绕过组织选取器。使用客户端凭据或联合登录时已被忽略(并显示警告)— 组织在这些流程中由--client-id修复。--no-browser— 不打开浏览器;将授权 URL 打印到 STderr(以UIPATH_AUTH_URL <url>为前缀,以实现对 grep 的自动化),并在登录回调到达之前被阻止。用于无头/自动化驱动的登录。也可通过UIPATH_CLI_NO_BROWSER=true设置。使用客户端凭据或联合登录时,无效(会被忽略,并显示警告),在这些流程中都不会打开浏览器。当人员登录时,让他们在自己的终端中运行命令 — 通过代理的 shell 工具运行命令,会隐藏打印的 URL。
此页面还记录了两个非特定于登录的标志 — 有关完整行为,请参阅全局选项:
--interactive/--no-interactive— 在身份验证后,强制(或隐藏)交互式提示词,从云返回的列表中选择租户。没有--it缩写形式。--profile <name>— 使用已保存的命名登录配置文件,而不是默认的凭据位置。与-f, --file互斥。
凭据模式
- 交互式/用户凭据— 运行
uip login(可以选择使用--interactive、--tenant或--organization)。浏览器流程在 UiPath Cloud 授权上完成;生成的令牌将保留在凭据文件夹中。 - 外部应用程序(客户端凭据,非交互式) — 传递
--client-id、--client-secret和--scope,通常与--tenant一起使用。适用于 CI 运行者。使用--client-secret env.UIPATH_CLIENT_SECRET从环境变量中读取密码,以将其保留在 Shell 历史记录中。 - 联合/工作负载身份(非交互式) — 传递
--client-id和--client-assertion(上一步中从 CI 提供程序或工作负载身份代理获取的 OIDC JWT),而不是客户端密码。--client-secret和--client-assertion不能一起使用。
示例
# Browser-based interactive login, picks tenant at the end
uip login --interactive
# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant
# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant
# External Application with secret from environment variable
uip login \
--client-id "00000000-0000-0000-0000-000000000001" \
--client-secret env.UIPATH_CLIENT_SECRET \
--scope "OR.Folders OR.Jobs" \
--tenant DefaultTenant
# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
--client-id "00000000-0000-0000-0000-000000000001" \
--client-assertion env.CI_OIDC_TOKEN \
--tenant DefaultTenant
# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant
# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath
# Browser-based interactive login, picks tenant at the end
uip login --interactive
# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant
# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant
# External Application with secret from environment variable
uip login \
--client-id "00000000-0000-0000-0000-000000000001" \
--client-secret env.UIPATH_CLIENT_SECRET \
--scope "OR.Folders OR.Jobs" \
--tenant DefaultTenant
# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
--client-id "00000000-0000-0000-0000-000000000001" \
--client-assertion env.CI_OIDC_TOKEN \
--tenant DefaultTenant
# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant
# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath
数据形状 ( --output json )
{
"Code": "Authenticated",
"Data": {
"Status": "Logged in",
"Organization": "my-org",
"Tenant": "DefaultTenant"
}
}
{
"Code": "Authenticated",
"Data": {
"Status": "Logged in",
"Organization": "my-org",
"Tenant": "DefaultTenant"
}
}
故障模式
- 非交互式登录后缺少租户会引发包含
Message: "No tenant selected"的ConfigError,并指示您使用--tenant <name>或--interactive重新运行。 - 来自授权机构的传输错误和非 2xx 响应显示为
AuthenticationError,原始 HTTP 状态为Context.httpStatus(如可用)。 --client-id/--client-secret中格式错误的env.NAME引用会在任何网络调用之前生成ConfigError。
UIP 登录刷新
主动刷新访问令牌,并发出计算机可读的会话有效负载(访问令牌、组织/租户身份、过期)。适用于需要在接下来的几分钟内需要有保证有效的令牌的程序化使用者(例如 IDE 扩展)。与 uip login status 不同, 是一个状态报告,只会在令牌过期时附带轮换令牌,refresh 会强制执行在需要时提前轮换。
参数
无。
选项
--login-validity <minutes>— 仅当当前访问令牌在如此长时间内过期时刷新。默认5。传递0可跳过主动检查,并仅在令牌已过期时进行轮换。范围0–525600(一年)。
示例
# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json
# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json
# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json
# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json
数据形状 ( --output json )
{
"Code": "LoginRefresh",
"Data": {
"Status": "Logged in",
"Organization": "my-org",
"Tenant": "DefaultTenant",
"Expiration Date": "2026-04-18T10:30:00Z",
"BaseUrl": "https://cloud.uipath.com",
"OrganizationId": "00000000-0000-0000-0000-000000000001",
"OrganizationName": "my-org",
"TenantId": "00000000-0000-0000-0000-000000000002",
"TenantName": "DefaultTenant",
"AccessToken": "<jwt>"
}
}
{
"Code": "LoginRefresh",
"Data": {
"Status": "Logged in",
"Organization": "my-org",
"Tenant": "DefaultTenant",
"Expiration Date": "2026-04-18T10:30:00Z",
"BaseUrl": "https://cloud.uipath.com",
"OrganizationId": "00000000-0000-0000-0000-000000000001",
"OrganizationName": "my-org",
"TenantId": "00000000-0000-0000-0000-000000000002",
"TenantName": "DefaultTenant",
"AccessToken": "<jwt>"
}
}
仅当--output json生效并且为显式传递--output或标准输出为非交互式(管道传输/重定向)时,才包含AccessToken 。终端中的交互式 uip login refresh 永远不会打印令牌 — 这是特意的设计,因此令牌不会意外进入回滚页面。当刷新的令牌无法将其保留回磁盘时,Code 为 LoginRefreshPartial,而不是 LoginRefresh(调用者仍将获取当前流程的有效可用令牌)。
故障模式
- 未登录、刷新失败或令牌过期且没有可用的刷新令牌:
AuthenticationError,退出代码2,且Instructions指明了特定原因。
UIP 登录
打印 uip 将从当前工作目录读取身份验证的位置 — “为什么我的会话未被选取”的确切诊断。不采用任何选项;它始终报告会话和凭据中所述的无预约 + 返回主页的回退解决方案。
参数
无。
选项
无。
示例
uip login which --output json
uip login which --output json
数据形状 — 基于文件的会话 (--output json)
{
"Code": "AuthFile",
"Data": {
"Path": "/Users/me/projects/foo/.uipath/.auth",
"Exists": true,
"Source": "ancestor"
}
}
{
"Code": "AuthFile",
"Data": {
"Path": "/Users/me/projects/foo/.uipath/.auth",
"Exists": true,
"Source": "ancestor"
}
}
Source 报告在临时链上找到文件的位置(例如 ancestor 与回退的主目录)。当全局 --profile 标志命名活动配置文件时,响应还包含 Profile 字段。
数据形状 — 环境变量会话 (--output json)
为 UIPATH_CLI_ENABLE_ENV_AUTH=true 时,which 报告 env-var 模式而不是文件:
{
"Code": "AuthEnv",
"Data": {
"EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
"AllVarsPresent": true,
"MissingVars": [],
"Vars": [
"UIPATH_CLI_AUTH_TOKEN",
"UIPATH_CLI_ORGANIZATION_NAME",
"UIPATH_CLI_ORGANIZATION_ID",
"UIPATH_CLI_TENANT_NAME",
"UIPATH_CLI_TENANT_ID"
]
}
}
{
"Code": "AuthEnv",
"Data": {
"EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
"AllVarsPresent": true,
"MissingVars": [],
"Vars": [
"UIPATH_CLI_AUTH_TOKEN",
"UIPATH_CLI_ORGANIZATION_NAME",
"UIPATH_CLI_ORGANIZATION_ID",
"UIPATH_CLI_TENANT_NAME",
"UIPATH_CLI_TENANT_ID"
]
}
}
MissingVars 从不包含值,仅包含未设置或为空的变量名称,因此您可以始终安全地将响应粘贴到工单或聊天中。
故障模式
- 未在临时链的任何位置找到凭据文件:
AuthenticationError,退出代码2,包含运行uip login的说明。 - 解析的凭据文件路径存在,但无法使用(例如,该路径或文件权限块中的一个目录):
Failure,退出代码1— 主机/文件系统问题,而非日志再次进入”页面问题。
UIP 登录租户列表
列出当前组织中对身份验证用户可见的所有租户。需要有效登录。
参数
无。
选项
-f, --file <folder>— 凭据文件夹的路径。默认为上一个uip login使用的会话。与全局--profile标志互斥。
示例
uip login tenant list
uip login tenant list
数据形状 ( --output json )
{
"Code": "TenantList",
"Data": [
{
"TenantName": "DefaultTenant",
"TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
},
{
"TenantName": "ProductionTenant",
"TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
}
]
}
{
"Code": "TenantList",
"Data": [
{
"TenantName": "DefaultTenant",
"TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
},
{
"TenantName": "ProductionTenant",
"TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
}
]
}
如果会话未登录,该命令会发出AuthenticationError其中包含先运行uip login说明。
UIP 登录租户集
按名称选择活动租户。租户必须存在于login tenant list返回的列表中; CLI 使用新选择来更新存储的会话。
参数
<name>(必填) —uip login tenant list返回的租户名称。
选项
-f, --file <folder>— 凭据文件夹的路径。默认为上一个uip login使用的会话。与全局--profile标志互斥。
示例
uip login tenant set DefaultTenant
uip login tenant set DefaultTenant
数据形状 ( --output json )
{
"Code": "TenantSet",
"Data": {
"Name": "DefaultTenant",
"Id": "a1b2c3d4-0000-0000-0000-000000000001"
}
}
{
"Code": "TenantSet",
"Data": {
"Name": "DefaultTenant",
"Id": "a1b2c3d4-0000-0000-0000-000000000001"
}
}
故障模式
- 未知租户名称时会生成
ValidationError其中Instructions会列出可用的租户,例如argument should be one of DefaultTenant, ProductionTenant。 - 如果 CLI 无法更新存储的会话,错误将显示为
Failure,并带有与权限相关的提示。
UIP 登录配置文件列表
列出存储在~/.uipath/profiles下的每个命名登录配置文件(请参阅全局--profile标志),以及default凭据位置。
选项
--all-fields— 还要包括每个配置文件的授权 URL、令牌到期日期和凭据文件路径。
示例
uip login profiles list
uip login profiles list
{
"Code": "ProfileList",
"Data": [
{ "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
{ "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
]
}
{
"Code": "ProfileList",
"Data": [
{ "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
{ "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
]
}
uip login profiles list --all-fields
uip login profiles list --all-fields
Url、ExpiresAt 和 Path 仅包含 --all-fields。在交互式表格中,Status 不是 Logged in 的任何配置文件都会突出显示。
uip 登录配置文件删除
删除已命名的登录配置文件及其存储的凭据。这是真正的磁盘文件删除操作,无法撤销。
参数
[profile-name]— 要删除的配置文件的名称。使用--all时省略。
选项
--all— 删除所有已命名配置文件,而非一个。-y, --yes— 确认删除。必需— 该命令从不以交互方式提示。
示例
uip login profiles delete staging --yes
uip login profiles delete staging --yes
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
uip login profiles delete --all --yes
uip login profiles delete --all --yes
{
"Code": "DeleteResult",
"Data": [
{ "Name": "staging", "Status": "deleted" },
{ "Name": "prod", "Status": "deleted" }
]
}
{
"Code": "DeleteResult",
"Data": [
{ "Name": "staging", "Status": "deleted" },
{ "Name": "prod", "Status": "deleted" }
]
}
故障模式
- 在接触磁盘之前,同时传递配置文件名称和
--all或两者均不失败会失败并显示ValidationError。 default无法以这种方式删除 —ValidationErroruip logout删除会失败, 会指向您 ,因为default未存储在~/.uipath/profiles下。- 在同一调用中,删除
--profile <name>当前选择的配置文件将失败,并显示ValidationError(重新运行时不使用该标志)。 - 使用
--all,活动的配置文件(如有)将自动跳过,而不是删除,并会在Status: "skipped"的响应中报告。如果跳过这一步而没有其他可删除的内容,则该命令将失败并显示ValidationError,而不是静默成功。 - 未知的配置文件名称失败,并且
Code: "not_found"指向login profiles list。
相关内容
uip login status— 显示当前会话而不刷新。uip logout— 清除存储的会话。- 身份验证— 用户与外部应用程序流程。
- 会话和凭据— 凭据文件夹的定位和轮换方式。
- 配置— 凭据来源(环境变量、文件、标志)的优先级。
- 大纲
- UIP 登录
- 参数
- 选项
- 凭据模式
- 示例
- 数据形状 (
--output json) - 故障模式
- UIP 登录刷新
- 参数
- 选项
- 示例
- 数据形状 (
--output json) - 故障模式
- UIP 登录
- 参数
- 选项
- 示例
- 数据形状 — 基于文件的会话 (
--output json) - 数据形状 — 环境变量会话 (
--output json) - 故障模式
- UIP 登录租户列表
- 参数
- 选项
- 示例
- 数据形状 (
--output json) - UIP 登录租户集
- 参数
- 选项
- 示例
- 数据形状 (
--output json) - 故障模式
- UIP 登录配置文件列表
- 选项
- 示例
- uip 登录配置文件删除
- 参数
- 选项
- 示例
- 故障模式
- 相关内容