Setting and secret
Setting
Pour configurer le setting, on crée une classe et défini dans le fichier appsettings.json ou autre dérivé appsettings.Development.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Abacus": {
"Url": "https://ssa1030test.bdocloud.ch",
"ClientId": "monid",
"ClientSecret": "monsecret",
"Mandant": "1030",
"DurationBetweenReportStatusRetries": 30
}
}
La Classe:
public record AbacusConfiguration(
string Url,
string ClientId,
string ClientSecret,
string Mandant,
int DurationBetweenReportStatusRetries);
Ensuite dans Program.cs
var builder = WebApplication.CreateSlimBuilder(args);
var abacusConfig = builder.Configuration.GetSection("Abacus").Get<AbacusConfiguration>();
Secret
On crée un fichier secret à partir de la console et on ajoute les donnée dedant:
# allez dans le dossier du projet
#initialisez le fichier
dotnet user-secrets init
# Ajouter les variables
dotnet user-secrets set "Abacus:ClientId" "jdhfgkj"
Dans Program.cs lire les données secrets
builder.Configuration.AddUserSecrets<Program>();
il faut charger une dépendance
Microsoft.Extensions.Configuration.UserSecrets
Pour afficher les données dans user-secrets :
dotnet user-secrets list