コードを手動で入力して、ブラウザのないマシンでBox CLIを認証します。 ブラウザが使用できないリモートサーバー、コンテナ、CI/CDパイプラインなど、ヘッドレス環境でBox CLIを認証するには、Documentation Index
Fetch the complete documentation index at: https://developer.box.com/llms.txt
Use this file to discover all available pages before exploring further.
--codeフラグを使用します。
前提条件
- Box CLIが。
- 承認手順を完了するための別のマシン (例えばノートパソコン) でブラウザにアクセスできる。
仕組み
標準のbox loginコマンドを実行すると、同じマシンでブラウザが開かれ、自動的に承認レスポンスを受信するローカルのコールバックサーバーが起動します。ヘッドレス環境では、そのどちらもできません。
--codeフラグを使用すると、ログインフローが変更されます。
- ブラウザが開く代わりに、CLIによって承認URLが出力されます。
- ローカルのコールバックサーバーは起動されません。
- 別のマシンのブラウザで承認を行った後、そこで得られるコードと状態を手動でコピーしてCLIに入力します。
認証
手順1: --codeフラグを指定してログインを開始する
ヘッドレスマシンで、次のコマンドを実行します。
手順2: 別のマシンのブラウザで承認を行う
CLIに出力された承認URLをコピーし、ブラウザがあるマシンでそのURLを開きます。Boxにサインインして [Boxへのアクセスを許可] を選択します。手順3: リダイレクトURLからコードと状態をコピーする
アクセスを許可すると、ブラウザでlocalhostコールバックURLにリダイレクトされます。ヘッドレスマシンではコールバックサーバーが実行されていないため、ページは読み込まれず、ブラウザには接続エラーが表示されます。これは想定どおりの動作です。
ブラウザのアドレスバーのURLを見ると、必要な値が含まれています。
codeとstateの値をコピーしてください。
手順4: CLIでコードを入力する
ヘッドレスマシンのターミナルに戻って、codeとstateの値をCLIのプロンプトに貼り付けます。
CLIによって認証の成功が確認されると、コマンドを実行できる状態になります。
手順5: 設定を確認する
ブラウザがあるマシンでの--codeの使用
--codeフラグは、ヘッドレス環境用のオプションです。ブラウザがあるマシンで使用すると、以下のようになります。
- CLIでは引き続き承認URLが出力されます。
- 承認後、ブラウザでコールバックURLにリダイレクトされます。
--codeによってローカルのコールバックサーバーの起動がスキップされるため、リダイレクトページは読み込まれず、ブラウザには接続エラーが表示されます。 - ヘッドレス環境と同様、CLIは
codeとstateの値が手動で入力されるのを待機し続けます。
--codeを指定せずにbox loginを実行することで、スムーズにログインできます。