Я новичок в # C, поэтому извините за мой вопрос, который, вероятно, будет очень легким для вас. Я пытаюсь получить свой clientID, clientSecret и tenantID из основного источника управления, но я совсем не уверен, как это сделать. Я видел несколько методов для. NET Core с подключенными службами в Visual Studio, но на самом деле это не доступно для. NET Framework 4.7.2. Я не уверен в настройке файла конфигурации. Я создал группу ресурсов на портале Azure, но я не уверен, как заставить работать это хранилище ключей.
Код ниже представляет рабочий код для получения токена, проблема в том, чтобы скрыть эти жестко закодированные строки.
Большое спасибо за ваш ответ
private static string GetToken()
{
string clientID = "xxxad43f-c825-491f-9130-8cc4da1d1111";
string clientSecret = "dRbIT5Wn4@u=55L@fLnYRNuDYrFD@111";
string tenantID = "4ae48b41-0137-4599-8661-fc641fe77111";
var app = ConfidentialClientApplicationBuilder
.Create(clientID)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri($"https://login.microsoftonline.com/{tenantID}/oauth2/v2.0/token"))
.Build();
var ApiID = "api://dddd-api";
var scopes = new[] { ApiID + "/.default" };
var result = app.AcquireTokenForClient(scopes).ExecuteAsync().Result;
if (result == null)
throw new Exception("Could not acquire token");
return result.AccessToken;
}