1

我有一個客戶端應用程序和Web API應用程序託管在不同的域上,並且希望在我的客戶端應用程序中使用ADAL.js來登錄我的Web API應用程序,但仍然收到未經授權的錯誤。Wep API項目的ADALjs和Azure AD驗證

<add key="ida:AudienceUri" value="http://clientappurl/" /> 
<add key="ida:FederationMetadataLocation" value="https://login.windows.net/...3596365/federationmetadata/2007-06/federationmetadata.xml" /> 
<add key="ida:ClientId" value=".....388ffcc3" /> 
<add key="ida:ClientSecret" value="....gBsD7o=" /> 
<add key="ida:Tenant" value="........onmicrosoft.com" /> 
<add key="ida:TenantId" value="........96365" /> 
<add key="ida:Auth" value="https://login.windows.net/" /> 
<add key="ida:GraphUrl" value="https://graph.windows.net" /> 

而且具有以下更新Startup.Auth.cs:

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
     new WindowsAzureActiveDirectoryBearerAuthenticationOptions 
     { 
      Audience = "http://myclientapp", 
      Tenant = "developertenant.onmicrosoft.com", 
      AuthenticationType = "OAuth2Bearer",        
     }); 

在客戶端上我指定端點在網頁API的web.config我指定我的AAD細節

(我的api網址),租戶和clientId。 ADALjs將用戶重定向到Microsoft登錄頁面,並在成功登錄後將它寫入本地存儲。但API應用程序仍然以未經授權的錯誤迴應。

是否有任何關於如何正確配置wep api和客戶端應用程序託管在不同域以利用AAD的教程?

如何從我的Web API應用程序中讀取AAD用戶組等授權用戶詳細信息?

回答

1

這裏是它展示瞭如何讀取一個web應用程序AAD組聲明的例子: https://github.com/Azure-Samples/active-directory-dotnet-webapp-groupclaims

一旦你的令牌,就可以調用Web API,這是由這個例子所示: https://github.com/Azure-Samples/active-directory-dotnet-webapp-webapi-openidconnect

這裏有一個很好的AAD例子列表: https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/