User-secrets scratch
source
https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-8.0&tabs=linux
../AspNetCore.Docs/aspnetcore/security/app-secrets/samples/6.x/UserSecrets
dotnet add package Microsoft.Extensions.Configuration.Json dotnet add package Microsoft.Extensions.Configuration.UserSecrets dotnet user-secrets init
As result it will be created element in
- csproj
<UserSecretsId> user_secrets_id </UserSecretsId> - storage path to
/<user_secrets_id>/secrets.json~/.microsoft/usersecrets%APPDATA%\Microsoft\UserSecrets
commands
1 2 3 4 5 6 7 8
dotnet user-secrets init dotnet user-secrets set "Movies:ServiceApiKey" "12345" dotnet user-secrets set "Movies:ServiceApiKey" "12345" --project "C:\apps\WebApp1\src\WebApp1" cat ./input.json | dotnet user-secrets set dotnet user-secrets list dotnet user-secrets remove "Movies:ConnectionString" dotnet user-secrets clear cat ~/.microsoft/usersecrets/934ecfd0-bf73-4a27-92aa-bd6334cc944d/secrets.json
- implemintation
1
2
3
4
5
6
7
var configuration = new ConfigurationBuilder()
.AddUserSecrets<Program>()
.Build();
builder.AddUserSecrets(Assembly.GetExutingAssembly(),true)
var movieApiKey = builder.Configuration["Movies:ServiceApiKey"];
var moviesApiKey = _config["Movies:ServiceApiKey"]; //DI IConfiguration
- create poco settings class
1
2
3
4
public class MovieSettings {
public string ConnectionString { get; set; }
public string ServiceApiKey { get; set; }
1
2
3
var moviesConfig =
Configuration.GetSection("Movies").Get<MovieSettings>();
_moviesApiKey = moviesConfig.ServiceApiKey;
1
2
3
4
5
6
// SqlConnectionStringBuilder builder
var conStrBuilder = new SqlConnectionStringBuilder(
builder.Configuration.GetConnectionString("Movies"));
conStrBuilder.Password = builder.Configuration["DbPassword"];
var connection = conStrBuilder.ConnectionString;
This post is licensed under CC BY 4.0 by the author.