メインコンテンツへスキップ
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
サインインは OAuth 2.0 デバイスフローを使ってブラウザ経由で行います。difyctl がパスワードを受け取ることはありません。

サインイン

1

ログインコマンドの実行

Dify ホストの URL を渡します。セルフホスト環境では、コンソール API URL を使用します。
difyctl auth login --host https://dify.example.com
difyctl はワンタイムコードを表示し、既定のブラウザで検証 URL を開いて待機します。
! Copy this one-time code: WDJP-XKLM
  Open: https://dify.example.com/device
自動で開かないようにするには、--no-browser を渡します。
ブラウザが開かない場合(SSH 経由やヘッドレスセッションでは通常の動作です)、任意のデバイスで URL を自分で開きます。
2

ブラウザでのサインイン承認

開いたブラウザタブで、Dify の認証情報を使ってサインインし、ワンタイムコードを入力します。コードは 15 分後に失効します。失効した場合は、difyctl auth login を再実行して新しいコードを取得します。
3

セッションの確認

ターミナルに戻ります。
✓ Logged in to dify.example.com as <your-email> (<your-name>)
  Workspace: <your-workspace>
2 行目に表示されているのがワークスペースです。

再サインイン

コマンドが auth_expired(終了コード 4)で失敗した場合、サーバー側でセッションが失効または取り消されています。 difyctl auth login をもう一度実行します。先にサインアウトする必要はなく、新しいサインインによって保存済みの token が更新されます。

サインイン中のアカウントの確認

difyctl auth whoami
<your-email> (<your-name>)
スクリプトから ID 情報を読み取るには、--json を追加します。
difyctl auth whoami --json
同じフィールドが JSON オブジェクトとして返され、さらにアカウント ID も含まれます。
{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","email":"<your-email>","name":"<your-name>"}

サインアウト

difyctl auth logout
✓ Logged out of dify.example.com
これによりサーバー上のセッションが取り消され、token とセッションエントリがマシンから削除されます。サーバー側の取り消しに失敗した場合でも、ローカルの認証情報は必ず消去されます。

Token の保存場所

サインインすると OAuth bearer token が保存されます。dfoa_ プレフィックスで識別できます。この token はあなた自身を表すため、アカウントがワークスペースでできる操作は、そのまま CLI からも実行できます。 difyctl は、オペレーティングシステムの認証情報ストアが利用できる場合はそこに token を保存します。macOS では Keychain、Windows では Credential Manager、Linux では Secret Service です。利用できる認証情報ストアがない場合は、difyctl 設定ディレクトリ内のパーミッション 0600tokens.yml ファイルにフォールバックします。 difyctl はサインイン時に一度ストアを選択し、以降のセッションはそれを使用します。セッションのメタデータ(ホスト、アカウント、ワークスペース)は token とともに hosts.yml に保存されます。 設定ディレクトリは、macOS と Linux では ~/.config/difyctl(Linux は XDG_CONFIG_HOME に従います)、Windows では %APPDATA%\difyctl です。DIFY_CONFIG_DIR を設定すると、この場所を上書きできます。

トラブルシューティング

問題対処方法
ブラウザがまったく開かないターミナルから URL をコピーし、任意のデバイスで開く。
ホストが拒否される受け付けるのは https:// ホストのみ。スキームのないホストは https:// として扱われる。プレーンな http:// ホスト(ローカル開発のみ)の場合は、--insecure を追加する。
後続のコマンドが auth_expired で失敗するセッションが失効または取り消された。再サインイン する。
その他の問題については、トラブルシューティング ページ全体を参照してください。
最終更新日 2026年6月25日