Hardcoding these values directly into your source code is a security risk. That’s where Secrets Manager comes into play.
Secrets Manager: Your Digital Vault Secrets Manager is a tool that provides secure storage and management for your application’s secrets. It keeps your sensitive data out of your source code and makes it easier to manage and rotate secrets without redeploying your application.
User Secrets: Keeping Development Secrets Safe User Secrets is a developer-friendly feature of Secrets Manager specifically designed for local development environments. It allows you to store secrets for a particular project on your local machine without having to commit them to source control, keeping them out of your code repository.
How to Set User Secrets Using the dotnet Command Initialize: If you haven’t already, initialize user secrets for your project: dotnet user-secrets init This command adds a UserSecretsId property to your project’s .csproj file, which links the project to a user secrets store. Set a Secret: Use the set command to store a secret: dotnet user-secrets set “MySecretName” “MySecretValue” Replace “MySecretName” with the desired key and “MySecretValue” with the actual secret value. List Secrets (Optional): dotnet user-secrets list This command lists all the secrets you’ve stored for the project. Remove a Secret (Optional): dotnet user-secrets remove “MySecretName”
Accessing User Secrets in Your Code var builder = WebApplication.CreateBuilder(args); var configuration = builder.Configuration;
// In Program.cs (or Startup.cs): if (builder.Environment.IsDevelopment()) { configuration.AddUserSecrets<Program>(); } This will add a configuration source that can read user secrets, but only when the environment is set to “Development”.
Then, to access a user secret, you can use the same techniques you would for any other configuration value: var mySecret = configuration[“MySecretName”];