UiPath Documentation
uipath-cli
latest
false
重要 :
请注意,此内容已使用机器翻译进行了本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

UiPath CLI 用户指南

会话和凭据

uip会话是将命令绑定到特定 UiPath 组织和租户的状态,并且可以让 CLI 出示有效的访问令牌,而无需在每次调用时提示用户。交互式流程和外部应用程序流程的会话将保留在磁盘上,并根据环境变量重建 env-var 流程的会话。本页说明该状态的存在位置、 uip如何找到它,以及在租户或计算机之间移动时会出现什么情况。

凭据文件夹

uip login将会话保留在名为.uipath/的文件夹中。视为不透明其内容 — 由uip loginuip login tenant setuip logout管理,磁盘布局是一个实现细节,可能会在不同版本之间发生变化。该文件夹包含访问令牌、刷新令牌以及活动组织和租户。

保护文件夹。它包含可以模拟您会话的令牌,直到它们被撤销。在多用户或共享环境中,将其保存在主目录中,对其内容具有通常的0600权限。在开发者计算机上,通常将其保留在uip login放置的位置即可。如果项目本地会话是基于开发者的,则将.uipath/添加到.gitignore

位置解析 (临时)

运行任何uip命令时,CLI 会按以下顺序查找凭据文件夹:

  1. 显式路径— 如果调用命令时使用了-f /path/to/folder ,则使用该文件夹。路径可以是绝对路径,也可以是相对路径。
  2. 从当前目录向上遍历— 从cwd开始,CLI 检查./.uipath/ ,然后在父链中向上遍历,查找相同的文件夹。以找到的第一个路径为准。
  3. 用户主目录— 如果在临时窗口中未找到项目本地文件夹,则 CLI 会回退到~/.uipath/

uip login写入将由下一个命令读取的路径:

  • 如果您在临时链上已有.uipath/的目录中运行uip login ,则登录将刷新该会话。
  • 否则,系统将在您的主目录中创建~/.uipath/

为何无需预约?

cwd开始,项目文件夹可以进行自己的会话,而无需修改您的主目录。将.uipath/文件夹放置在存储库根目录中,则从存储库中运行uip每个人都将选取该项目的登录名,这对于每个项目的客户端凭据、暂存租户或演示环境非常有用。

正在覆盖位置

覆盖查找的三种方法:

  • -f, --file <folder>uip login — 仅uip logout指定文件夹用于此命令。
  • 单独的主目录 — 在共享构建服务器上,运行HOME=/srv/build-home uip login以写入/srv/build-home/.uipath/
  • uip completion和其他命令不采用-f标志,并始终使用“无预约 + 主页”回退。

检查:

# print the current session status (reads via walk-up)
uip login status
# print the current session status (reads via walk-up)
uip login status

uip login status始终通过无预约 + 主页回退读取;它不接受-f 。要检查非默认文件夹中的会话,请在运行uip login status之前切换到该目录(或其子目录),或使用uip login tenant list -f /path/to/creds列出可用租户。

活动组织和租户

一个会话一次存储一个组织和一个租户。租户是 UiPath 的概念,用于限定文件夹、作业、队列和资源的作用域,实际上是每当您运行uip or …时 CLI 都会到达的“帐户”。

更改活动租户,而无需重新进行身份验证:

uip login tenant list           # show all tenants this session can access
uip login tenant set MyTenant   # switch the active tenant
uip login tenant list           # show all tenants this session can access
uip login tenant set MyTenant   # switch the active tenant

uip login tenant set在后台为新租户创建新的访问令牌/刷新令牌,并就地更新存储的会话。

在任何uip or …调用上传递--tenant <name> ,即可在不更改磁盘会话的情况下覆盖会话的活动租户:

uip or folders list --tenant Staging
uip or jobs start "$PROCESS_KEY" --tenant Production
uip or folders list --tenant Staging
uip or jobs start "$PROCESS_KEY" --tenant Production

刷新令牌

访问令牌是短暂的。当 CLI 检测到存储的访问令牌即将过期时,它会使用刷新令牌请求新的令牌,并静默更新存储的会话。除非发生以下情况之一,否则不需要重新运行uip login

  • 刷新令牌本身已过期或被撤销(通常在数周不活动后,或在管理员强制注销时)。
  • 您更改了组织。
  • 您需要一个与对会话进行身份验证时不同的作用域集。

刷新失败时, uip login status报告Expired ;这是再次运行uip login信号。

env-var 流程 (无文件)

UIPATH_CLI_ENABLE_ENV_AUTH=true启用的第三个身份验证流程完全绕过凭据文件夹。每个uip命令都从环境变量中读取令牌和租户,按原样使用,而不将任何内容写入磁盘。

对于以下情况,这是正确的选择:

  • 从父管道接收令牌的容器。
  • 其中将凭据保留到磁盘非常浪费,或者是被禁止的临时 CI 运行程序。
  • CLI 在调用之间必须为无状态的任何环境。

与基于文件的流程的差异:

  • 无刷新。令牌对uip不透明 — 如果令牌已过期,调用者将负责轮换令牌。
  • uip logout不执行任何操作。没有要删除的文件。将环境变量取消设置为“退出登录”。
  • 基本 URL 派生自令牌。JWT 带有的任何iss声明都被视为授权声明 — 不要将UIPATH_URLUIPATH_CLI_AUTH_TOKEN一起设置,否则您将取消同步。

有关完整的变量集和 GitHub Actions/容器示例,请参阅身份验证 — 流 3

注销

基于文件的流:

uip logout                        # clear ~/.uipath/ or the walk-up match
uip logout -f /path/to/creds      # clear a specific credentials folder
uip logout                        # clear ~/.uipath/ or the walk-up match
uip logout -f /path/to/creds      # clear a specific credentials folder

logout会清除存储的会话。在再次运行uip login之前,后续的uip or …调用将失败,返回代码为AuthenticationError (退出代码2 )。要也使服务器端的会话失效,请在 Automation Cloud 中撤销外部应用程序的密码,或退出您的用户帐户。

Env-var 流程:取消设置UIPATH_CLI_ENABLE_ENV_AUTH (为了安全起见,取消设置令牌变量)。

另请参阅

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新