本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。
续期登录
登录默认有效 14 天(可通过OAUTH_TTL_DAYS 调整),期间使用 difyctl 也不会延长有效期。过期后,所有用到这次登录的命令都会报 auth_expired 错误(退出码 4),直到你重新登录。登录何时过期,可在 会话列表 的 expires_at 中查看。
ACCESS_TOKEN_EXPIRE_MINUTES 和 REFRESH_TOKEN_EXPIRE_DAYS 不影响 difyctl 登录的有效期,它们决定的是 Dify 网页控制台的登录时长。login。它会先退出当前登录,再开始新的登录。如果新的登录失败,你会一直处于退出状态,直到登录成功为止。
使用多个服务器或账户
每个 配置目录 只保存一份登录信息,新的登录会替换掉它。要切换服务器,运行login 并用 --server 指定新服务器。要切换账户,运行 login,然后在浏览器中用另一个账户登录 Dify 并批准。
要同时登录多个服务器或账户,用 DIFY_CONFIG_DIR 为每个登录分配单独的目录,并在用到该登录的每条命令中都设置它:
令牌的存储位置
difyctl 把令牌保存在操作系统的凭据存储中,服务名为 difyctl:macOS 上是 Keychain,Windows 上是 Credential Manager,Linux 上是 Secret Service。
以下情况下,它会改为把令牌写入配置目录中的 tokens.yml:
- 你使用
--no-keyring登录。 - 你在没有桌面会话总线的 Linux 上登录(未设置
DBUS_SESSION_BUS_ADDRESS)。 - 登录时凭据存储无法使用。
不要把
tokens.yml 打包进容器镜像、放进会共享给他人的备份,或提交到版本控制系统。- macOS:
~/.config/difyctl - Linux:
$XDG_CONFIG_HOME/difyctl,未设置XDG_CONFIG_HOME时为~/.config/difyctl - Windows:
%APPDATA%\difyctl
DIFY_CONFIG_DIR。
登出
不再使用某台机器时,运行logout:
logout 会结束你在服务器上的会话,并删除本机保存的令牌和登录记录。如果连不上服务器,logout 仍会清除本机的数据,但服务器上的会话依然有效,直到它到期,或者你 手动结束这个会话。
查看和结束会话
要查看你在哪些机器上登录了,列出所有会话:id、机器的主机名 device_label 和过期时间 expires_at。
要结束另一台机器上的会话(例如已经不在你手上的机器),按 ID 删除它。根据 device_label 选择要删除的会话,以免误删你正在使用的这台机器上的会话。
logout:按 ID 删除会把已保存的登录信息留在本机,下一条命令就会报 auth_expired 错误。