2016-10-02 2 views
0

У меня есть проект Visual Studio 2015 ASP.NET Core 1.0, который использует API Карт Google. В настоящее время я могу жестко закодировать ключ API в двух местах:Как использовать переменную среды Windows, чтобы скрыть ключ API?

1) тег сценария вида, например.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY_HERE"></script> 

2) файл config.json проекта, например.

{ 
    "Keys": { "GoogleMapsAPIKey": "YOUR_API_KEY_HERE" } 
} 

В любом случае ключ раскрывается при использовании источника управления, поэтому почему бы не использовать переменную среды Windows?

В свойствах системы Windows Я добавил новую переменную среды, называемую GoogleMapsAPIKey, и вставил ее в фактический ключ.

Теперь как использовать эту переменную среды в теге сценария или в config.json?

Цель вопроса - получить общий ответ о том, как использовать переменные среды, чтобы скрыть ключи API в таких ситуациях.

ответ

1

Добавить поставщика конфигурации переменных окружения. Пример из here:

public Startup(IHostingEnvironment hostingEnvironment) 
{ 
    var builder = new ConfigurationBuilder() 
     .SetBasePath(hostingEnvironment.ContentRootPath) 
     .AddJsonFile("config.json") 
     .AddEnvironmentVariables(); 
} 

Если вы просто хотите, чтобы скрыть ключ в процессе разработки, вы можете использовать user secrets.