Я использую API Azure в коде C # и использую следующие библиотеки:
using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication;
using Microsoft.Azure.Management.DataLake.Store;
using Microsoft.Azure.Management.DataLake.StoreUploader;
using Microsoft.Azure.Management.DataLake.Analytics;
using Microsoft.Azure.Management.DataLake.Analytics.Models;
using Microsoft.WindowsAzure.Storage.Blob;
Чтобы создать соединение с Azure:
private static ServiceClientCredentials AuthenticateAzure(string domainName, string nativeClientAppCLIENTID)
{
// User login via interactive popup
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
// Use the client ID of an existing AAD "Native Client" application.
var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptOnly(nativeClientAppCLIENTID, new Uri("urn:ietf:wg:oauth:2.0:oob"));
return UserTokenProvider.LoginWithPromptAsync(domainName, activeDirectoryClientSettings).Result;
}
При вызове LoginWithPromptAsync
у меня появилось всплывающее окно с запросом моих учетных данных. Я не хочу, чтобы это всплывающее окно появлялось каждый раз, когда я запускаю код. Есть ли какой-нибудь способ придумать что-то помимо создания приложения Azure?
У меня есть ApplicationId
, TenantId
, CertificateThumbprint
и SubscriptionId
(ниже). Могу ли я использовать эти поля для аутентификации в Azure без запроса?