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();
        }
Beispiel #3
0
    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);
    }