码迷,mamicode.com
首页 > Windows程序 > 详细

ASP.NET Core Web Api配置Azure Key Vault

时间:2019-08-23 19:10:42      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:star   tin   ring   app   focus   absolute   rtu   ack   ros   

 

 

 

 

1. 项目创建

1.1 安装

  下载.NETCORE SDK 进行安装

  下载NETCORE RUNTIME进行安装.

  下载Runtime & Hosting Bundle进行安装

  下载地址:https://dotnet.microsoft.com/download/dotnet-core

  微软的安装在windows方面很简单,基本就是一键安装.

1.2 开发工具

            VisualStudio 2019

1.3建立项目工程

  点击文件创建项目,出现如下图示

技术图片

  

  选择画红圈部分,接着出现如下图示

 

技术图片

 

2. Azure Key Vault

2.1 将应用程序与 Azure Active Directory 集成

2.1.1登录Azure protal , 选择Azure Active Directory 网址:https://portal.azure.cn

技术图片

 

2.1.2 选择应用注册

技术图片

2.1.3 点击添加新注册,输入名称点确定,即会自动生成客户端ID

技术图片

 

 

 2.2 创建key vault

技术图片

 

2.3 创建机密

技术图片

 

 

3. 代码配置 Key Vault

3.1 安装nuget依赖包

技术图片

 

3.2 代码配置

Program.cs

 public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
           WebHost.CreateDefaultBuilder(args)
               .ConfigureAppConfiguration((ctx, builder) =>
               {
                   var keyVaultEndpoint = GetKeyVaultEndpoint();
                   if (!string.IsNullOrEmpty(keyVaultEndpoint))
                   {
                       var azureServiceTokenProvider = new AzureServiceTokenProvider();
                       var keyVaultClient = new KeyVaultClient(
                           new KeyVaultClient.AuthenticationCallback(
                               azureServiceTokenProvider.KeyVaultTokenCallback));
                       builder.AddAzureKeyVault(
                           keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager());
                   }
               }
            ).UseStartup<Startup>()
             .Build();

        private static string GetKeyVaultEndpoint() => "https://abb-key-vault.vault.azure.cn/";
    }

 

3.3 使用key vault

public class AboutModel : PageModel
{
        public string Message { get; set; }

        public AboutModel(IConfiguration configuration)
        {
            _configuration = configuration;
        }

        private readonly IConfiguration _configuration = null;

        public void OnGet()
        {
            Message = "My key val = " + _configuration["AppSecret"];
        }
 }

 

其中 “AppSecret”即是key vault中设置的键,通过_configuration["AppSecret"]可以获取到值。

 

ASP.NET Core Web Api配置Azure Key Vault

标签:star   tin   ring   app   focus   absolute   rtu   ack   ros   

原文地址:https://www.cnblogs.com/zmsoftbj/p/11401922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!