private static async Task <CredentialValue> retrieveCredentials(IServiceProvider sp, string credentialKey) { var path = getSecretsToolPath(); var hostEnv = sp.GetService <IHostEnvironment>(); var options = new SecretsToolOptions { Command = "Get", CredentialKey = credentialKey }; var process = new XtiProcess(path) .UseEnvironment(hostEnv.EnvironmentName) .AddConfigOptions(options); var result = await process.Run(); result.EnsureExitCodeIsZero(); var output = result.Data <SecretsToolOutput>(); var secretCredentialsValue = new CredentialValue(output.UserName, output.Password); return(secretCredentialsValue); }
private async Task storeSystemUserCredentials(IServiceProvider sp, AppKey appKey) { var credentialKey = getCredentialKey(appKey); var options = sp.GetService <IOptions <InstallOptions> >().Value; var path = getSecretsToolPath(); var hostEnv = sp.GetService <IHostEnvironment>(); var secretsOptions = new SecretsToolOptions { Command = "Store", CredentialKey = credentialKey, UserName = options.SystemUserName, Password = options.SystemPassword }; var process = new XtiProcess(path) .WriteOutputToConsole() .UseEnvironment(hostEnv.EnvironmentName) .AddConfigOptions(secretsOptions); await writeLog(process.CommandText()); var result = await process.Run(); result.EnsureExitCodeIsZero(); }
private static ISecretCredentialsFactory getSecretCredentialsFactory(IServiceScope scope, SecretsToolOptions options) { ISecretCredentialsFactory credentialFactory; if (options.IsShared) { credentialFactory = scope.ServiceProvider.GetRequiredService <ISharedSecretCredentialsFactory>(); } else { credentialFactory = scope.ServiceProvider.GetRequiredService <SecretCredentialsFactory>(); } return(credentialFactory); }