メインコンテンツへスキップ
サインインは会社のシングルサインオンを使ってブラウザ経由で行います。difyctl が企業のパスワードを受け取ることはありません。
外部 SSO は Dify アカウントを 持たない ユーザー向けです。メールアドレスがすでに Dify アカウントに対応している場合、このサインインは拒否されます。アカウントユーザー としてサインインしてください。

サインイン

1

ログインコマンドの実行

difyctl auth login --host https://dify.example.com
管理者から提供されたホスト URL を使用します。スキームのないホストは https:// として扱われます。
自動で開かないようにするには、--no-browser を渡します。
2

企業 ID でのサインイン

difyctl はワンタイムコードと検証 URL を表示し、既定のブラウザでその URL を開いて待機します。
! Copy this one-time code: WDJP-XKLM
  Open: https://dify.example.com/device
ブラウザは、会社の通常のサインイン(他の企業ツールで使用しているものと同じ)に沿って進み、ワンタイムコードの入力を求めます。ブラウザが開かない場合(SSH 経由やヘッドレスセッションでは通常の動作です)、ターミナルから URL をコピーし、任意のデバイスで開きます。コードは 15 分後に失効します。
3

セッションの確認

ターミナルに戻ります。
✓ Logged in to dify.example.com as <your-email> (external SSO, issuer: <your-identity-provider>)
external SSO は、Dify アカウントではなく、会社の ID プロバイダーを通じてサインインしたことを意味します。issuer はその ID プロバイダーであり、あなたの身元を保証します。

再サインイン

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

Token の保存場所

サインインすると OAuth bearer token が保存されます。dfoe_ プレフィックスで識別できます。この token はこの Dify ホスト上でのあなたの企業 ID を表し、会社が付与したアクセス権だけを持ちます。そのアクセス権の範囲については、権限範囲と制限 を参照してください。 difyctl は、オペレーティングシステムの認証情報ストアが利用できる場合はそこに token を保存します。macOS では Keychain、Windows では Credential Manager、Linux では Secret Service です。利用できる認証情報ストアがない場合は、difyctl 設定ディレクトリ内のパーミッション 0600tokens.yml ファイルにフォールバックします。これは hosts.yml のセッションメタデータと並んで保存されます。 設定ディレクトリは、macOS と Linux では ~/.config/difyctl、Windows では %APPDATA%\difyctl です。DIFY_CONFIG_DIR を設定すると、この場所を上書きできます。

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

difyctl auth whoami
<your-email> (external SSO, issuer: <your-identity-provider>)
スクリプトから ID 情報を読み取るには、--json を追加します。
difyctl auth whoami --json
{"subject_type":"external_sso","email":"<your-email>","issuer":"<your-identity-provider>"}

サインアウト

difyctl auth logout
✓ Logged out of dify.example.com
これにより、token とセッションエントリがマシンから削除されます。ただし、サーバー上のセッションは終了しません。そのセッションは、自然に失効するまで有効なままです。 再認証のためにサインアウトする必要はありません。同じホストに対して difyctl auth login を再実行すると、セッションが置き換えられます。

トラブルシューティング

問題対処方法
ブラウザがまったく開かないターミナルから URL をコピーし、任意のデバイスで開く。SSH 経由やヘッドレスセッションでは通常の動作。
コードが失効したコードの有効期間は 15 分。difyctl auth login を再実行して新しいコードを取得する。
サインインが拒否された(access_denied承認がブラウザのステップで拒否された。アカウントが Dify で有効になっているか管理者に確認する。
メールアドレスが Dify アカウントに属するとブラウザに表示される外部 SSO は Dify アカウントを持たないユーザー専用です。アカウントユーザー としてサインインしてください。
ホストが拒否される受け付けるのは https:// ホストのみ。スキームのないホストは https:// として扱われる。
後続のコマンドが auth_expired で失敗するサーバー側でセッションが失効または取り消された。再サインインする。
その他の問題については、トラブルシューティングページを参照してください。