difyctl が企業のパスワードを受け取ることはありません。
外部 SSO は Dify アカウントを 持たない ユーザー向けです。メールアドレスがすでに Dify アカウントに対応している場合、このサインインは拒否されます。アカウントユーザー としてサインインしてください。
サインイン
企業 ID でのサインイン
difyctl はワンタイムコードと検証 URL を表示し、既定のブラウザでその URL を開いて待機します。再サインイン
コマンドが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 設定ディレクトリ内のパーミッション 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 で失敗する | サーバー側でセッションが失効または取り消された。再サインインする。 |