DotNet秘密の使用


AppSettingで秘密の環境変数を置く代わりに.JSONファイルは、プロジェクトのフォルダに保つことなく、プロジェクトに秘密を追加する機能をDOTNET CLIがあります.
これは、例えば、誤ってコミットにそれらを加えることによって秘密を漏らす危険性を減少させるでしょう.
This link leads to Microsoft's own documentation.

カンチシート


dotnet user-secrets --help # See available commands

dotnet user-secrets init # Initiate secrets

dotnet user-secrets set "MY_API_KEY" "xyz" # Set a secret

dotnet user-secrets set "SOME_API.MY_API_KEY" "xyz" # Set a nested secret

cat secrets.json | dotnet user-secrets set # Set all secrets in a json file

dotnet user-secrets list # List the secrets

dotnet user-secrets clear # Delete all secrets in the project

ウォークスルー


開始


The dotnet user-secrets init コマンドは秘密の記憶を可能にする.それは、Guidで線を加えます.csprojファイル.このGUIDは、どのプロジェクトに属する秘密を識別するために使用されます.コマンドは、プロジェクトごとに一度だけ実行する必要があります.コードを他の人と共有している場合は、再起動する必要はありません.
<UserSecretsId>71ad533a-ed09-4780-9037-a5aafb01958b</UserSecretsId>
また、~/.microsoft/usersecrets ( Macで) JSON形式の秘密をファイルしたファイルで.
~/.microsoft/usersecrets
|
└───71ad533a-ed09-4780-9037-a5aafb01958b
│   └──secrets.json
|
└───<some-other-GUID>
    └──secrets.json

秘密は、このJSONファイルのプレーンテキストに保存されます.

秘密設定


dotnet user-secrets set "MY_API_KEY" "xyz"
dotnet user-secrets set "SOME_API.MY_API_KEY" "xyz"
上記のコマンドは、自己説明と結果の秘密です.JSONファイルは次のようになります.
{
  "MY_API_KEY": "xyz",
  "SOME_API.MY_API_KEY": "xyz"
}
上記と同じ形式で秘密を与えられているなら、これらはコマンドで一度にすべてインポートできます.
$ cat secrets.json | dotnet user-secrets set
Successfully saved 2 secrets to the secret store.