我在 C# 代码中使用 Azure API 并使用以下库:
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 进行身份验证吗?