difyctl 全程接触不到你的企业密码。
外部 SSO 面向 没有 Dify 账户的用户。如果你的邮箱已对应某个 Dify 账户,此登录会被拒绝,请改为以 账户用户 身份登录。
登录
用企业身份登录
difyctl 会打印一次性验证码和一个验证 URL,在默认浏览器中打开该 URL,然后等待:重新登录
如果某条命令以auth_expired(退出码 4)失败,说明服务器已使你的会话过期或将其吊销。
重新运行 difyctl auth login。无需先登出,新的登录会替换已存储的 token。
Token 的存储位置
登录后会存储一个 OAuth bearer token,可通过dfoe_ 前缀识别。它代表你在这台 Dify 主机上的企业身份,仅携带公司授予它的访问权限。该权限的具体范围,参见 权限范围与限制。
只要操作系统提供凭据存储,difyctl 就会把 token 存入其中:macOS 上是 Keychain,Windows 上是 Credential Manager,Linux 上是 Secret Service。如果没有可用的凭据存储,则回退到 difyctl 配置目录下一个权限为 0600 的 tokens.yml 文件,与 hosts.yml 中的会话元数据并列存放。
配置目录在 macOS 和 Linux 上是 ~/.config/difyctl,在 Windows 上是 %APPDATA%\difyctl。设置 DIFY_CONFIG_DIR 可覆盖此路径。
查看当前登录身份
--json:
登出
difyctl auth login 会替换该会话。
故障排查
| 问题 | 处理方法 |
|---|---|
| 浏览器始终未打开 | 从终端复制 URL,在任意设备上打开。通过 SSH 或在无图形界面的会话中属正常现象。 |
| 验证码已过期 | 验证码有效期为 15 分钟。重新运行 difyctl auth login 获取一个新的。 |
登录被拒绝(access_denied) | 授权在浏览器步骤中被拒。请与管理员确认你的账户已启用 Dify。 |
| 浏览器提示你的邮箱属于某个 Dify 账户 | 外部 SSO 仅面向没有 Dify 账户的用户。请改为以 账户用户 身份登录。 |
| 主机被拒绝 | 只接受 https:// 主机;不带协议的主机默认按 https:// 处理。 |
后续某条命令以 auth_expired 失败 | 服务器已使你的会话过期或将其吊销。重新登录。 |