1PasswordでLaravel Forge CLIを安全に認証する
1Passwordマニュアル|Laravel Forgeシェルプラグインを活用し、1Passwordで安全にLaravel Forge CLIの認証を行う方法を詳しく解説します。
1Passwordマニュアル|Laravel Forgeシェルプラグインを活用し、1Passwordで安全にLaravel Forge CLIの認証を行う方法を詳しく解説します。
1PasswordでLaravel Forge CLIを安全に認証する
Laravel Forgeシェルプラグインを使うと、1Passwordを使用して資格情報をプレーンテキストでSaveするのではなく、指紋、Apple Watch、またはシステム認証を使用してSaveします。
指示に従ってデフォルトの資格情報を設定し、plugins.shファイルを取得すると、生体認証を使用して Laravel Forge CLI を認証するように求められます。
1Passwordに
または用の 1Password をインストールしてサインインします。
2.17.0 以降をインストールします。 1Password CLI を既にインストールしている場合は、方法を確認してください。
。
インストールする。
次のシェルがサポートされています:
Bash
Zsh
fish
Laravel Forge CLIシェル プラグインを使い始めるには:
Laravel Forge CLIプラグインで使う 1Password アカウントにサインインします。
$ op signin
特定のディレクトリでのみプラグインを設定したい場合は、そのディレクトリに変更します。
プラグインを設定するには、次のコマンドを実行します。
$ op plugin init forge
Laravel Forge CLI の資格情報を 1Passwordにインポートするか、資格情報がSaveされている保存済みの 1Password 項目を選択して、資格情報をいつ使うかを設定するように求められます。
新しいアイテムをインポートする
Laravel Forge CLI の認証情報を 1PasswordにまだSaveしていない場合は、Import into 1Passwordを選択します。認証情報を入力し、新しい 1Password アイテムの名前を選択して、Save先の保管庫を選択します。
1Password がローカル開発環境で資格情報を検出すると、自動的にインポートするように求められます。
保存済みのアイテムを選択
既にLaravel Forge CLI の認証情報を 1PasswordにSaveしている場合は、Search in 1Passwordを選択します。
関連するアイテムとそれらがSaveされている保管庫のリストが表示されます。資格情報が表示されない場合は、Expand searchを選択して、アカウント内の全てのアイテムを参照します。
資格情報を選択またはインポートすると、その項目をいつ使用してLaravel Forge CLI を認証するかを設定するように求められます。
"Prompt me for each new terminal session"を選択すると、現在のターミナル セッションの期間中のみ資格情報が設定されます。ターミナルを終了すると、デフォルトは削除されます。
"Use automatically when in this directory or subdirectories"を選択すると、他のディレクトリ固有のデフォルトが設定されていない限り、現在のディレクトリとその全てのサブディレクトリで資格情報がデフォルトになります。ターミナル セッションのデフォルトは、ディレクトリ固有のデフォルトよりも優先されます。
"Use as global default on my system"を選択すると、資格情報が全てのターミナル セッションとディレクトリのデフォルトとして設定されます。ディレクトリ固有のデフォルトは、グローバル デフォルトよりも優先されます。
プラグインを使用できるようにするには、plugins.shファイルをソース化します。例:
$ source ~/.config/op/plugins.sh
シェル プラグインを初めてインストールする場合は、現在のターミナル セッションを超えてプラグインを永続化するために、RC ファイルまたはシェル プロファイルに source コマンドを追加する必要があります。例:
Bash
$ echo "source ~/.config/op/plugins.sh" >> ~/.bashrc && source ~/.bashrc
Zsh
$ echo "source ~/.config/op/plugins.sh" >> ~/.zshrc && source ~/.zshrc
fish
$ echo "source ~/.config/op/plugins.sh" >> ~/.config/fish/config.fish && source ~/.config/fish/config.fish
次回Laravel Forge CLIでコマンドを入力すると、生体認証またはシステム認証による認証を求められます。
Laravel Forge CLI の認証情報を 1PasswordにSaveしたら、以前にディスクにSaveした全てのローカル コピーを削除できます。
$ op plugin list
別のプラグインを選択して開始するには:
$ op plugin init
現在のLaravel Forge CLI設定を検査するには:
$ op plugin inspect forge
1Password CLI は、 Laravel Forge CLIで使うために設定した資格情報とそのデフォルト スコープのリスト、およびLaravel Forge CLI用に設定されたエイリアスのリストを返します。
Laravel Forge CLIで使用される資格情報をリセットするには:
$ op plugin clear forge
次の優先順位に従って、一度に 1 つの構成をクリアできます。
ターミナルセッションのデフォルト
ディレクトリのデフォルト、現在のディレクトリから$HOME
グローバルデフォルト
例えば、ディレクトリ内にいて$HOME/projects/awesomeProject、ターミナル セッションのデフォルト、$HOMEおよびのディレクトリのデフォルト$HOME/projects/awesomeProject、およびグローバル デフォルトの資格情報が構成されている場合、全てのデフォルトをクリアするにはop plugin clear forge を 4 回実行する必要があります。
グローバル デフォルト資格情報、ターミナル セッション デフォルト、および現在のディレクトリのデフォルトを同時にクリアするには、op plugin clear forge --all を実行します。
1Password は、プラグイン コマンドに必要な資格情報を 1Password アカウントから直接環境変数に挿入することで、Laravel Forge CLIで認証します。
新しい項目をインポートするためにop pluginを使うのではなく、Laravel Forge CLI の認証情報を 1Passwordに手動でSaveした場合は、フィールド名が以下の表と一致していることを確認してください。
アイテムに必要な名前のフィールドが含まれていない場合は、保存済みのフィールドのいずれかの名前を変更するように求められます。
1Passwordフィールド名
環境変数
Token
FORGE_API_TOKEN
フォルダーのファイル パスは、構成opによって異なる場合があります。op plugin initは正しいファイル パスを含むソース コマンドを出力します。
1Password Shell プラグインはサポートしています。サポートされている CLI のリストを表示するには:
シームレスなコンテキスト切り替えのためにシェル プラグインを使うには、またはでプラグインを構成する方法を学習します。
@andresayej感謝します。方法を学びましょう。