【发布时间】:2016-12-21 10:22:00
【问题描述】:
我在 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 进行身份验证吗?
【问题讨论】:
-
这里有关于如何创建 ServicePrinicpal 来执行此操作的说明blog.davidebbo.com/2015/12/calling-arm-using-plain-rest.html
标签: c# azure azure-api-apps azure-management-api