예제 #1
0
        /// <summary>
        /// Gets blob credentials from the given secrets provider
        /// </summary>
        public static async Task <AzureBlobStorageCredentials> GetBlobCredentialsAsync(
            this ISecretsProvider secretsProvider,
            string secretName,
            bool useSasTokens,
            CancellationToken token)
        {
            if (useSasTokens)
            {
                var secrets = await secretsProvider.RetrieveSecretsAsync(new List <RetrieveSecretsRequest>()
                {
                    new RetrieveSecretsRequest(secretName, SecretKind.SasToken)
                }, token);

                return(new AzureBlobStorageCredentials((UpdatingSasToken)secrets.Secrets[secretName]));
            }
            else
            {
                var secrets = await secretsProvider.RetrieveSecretsAsync(new List <RetrieveSecretsRequest>()
                {
                    new RetrieveSecretsRequest(secretName, SecretKind.PlainText)
                }, token);

                return(new AzureBlobStorageCredentials((PlainTextSecret)secrets.Secrets[secretName]));
            }
        }
예제 #2
0
        /// <summary>
        /// Gets the plain secret for the given secret name
        /// </summary>
        public static async Task <string> GetPlainSecretAsync(this ISecretsProvider secretsProvider, string secretName, CancellationToken token)
        {
            var secrets = await secretsProvider.RetrieveSecretsAsync(new List <RetrieveSecretsRequest>()
            {
                new RetrieveSecretsRequest(secretName, SecretKind.PlainText)
            }, token);

            return(((PlainTextSecret)secrets.Secrets[secretName]).Secret);
        }