2015-05-14 108 views
0

我已經設置了WebApi應用程序,並且有權訪問Windows Azure Active Directory。如何將Web Api訪問配置爲Azure Active Directory圖形API

應用程序能夠訪問圖形api,並且沒有提示用戶登錄。

如何爲WebApi實現類似的設置?我只想要具有權限設置的應用程序來訪問它。我這樣設置:http://bitoftech.net/2014/09/12/secure-asp-net-web-api-2-azure-active-directory-owin-middleware-adal/

但與訪問「Windows Azure Active Directory」圖api不同的是,它提示登錄。

回答

0

如果您不希望被提示進行身份驗證,則需要使用AcquireTokenAsync的不同重載。這基本上意味着使用祕密來驗證您的應用程序。

string tenantId = "[your domain, such as contoso.onmicrosoft.com]"; 
string clientSecret = "[Get this from the CONFIGURE page in the portal]"; 
string resAzureGraphAPI = "https://graph.windows.net"; 

var context = new AuthenticationContext(string.Format("https://login.windows.net/{0}", tenantId)); 

ClientCredential clientCred = new ClientCredential(clientId, clientSecret); 
AuthenticationResult result = await context.AcquireTokenAsync(resAzureGraphAPI, clientCred); 
相關問題