0

,我們有以下注冊Azure中的Active Directory應用程序轉發用戶令牌從ASP.NET核心天青移動應用

  • Xamarin應用
  • 的Web API
  • Web App的

和三個應用

  • Xamarin App
  • 核心ASP.NET Web應用程序
  • ASP.NET MVC 5級網站API(仍然是舊世界,因爲MobileAppController不ASP.NET核心支持)

enter image description here

什麼工作:用戶可以在Xamarin應用程序內進行身份驗證,並可以調用Web API。每件事都在這裏工作。 用戶也能夠登錄到Web應用程序(使用OpenID中間件和Azure Active Directory端點並重定向),但是從Web應用程序到Web API的調用失敗:未經授權。

我們在ASP.NET Web App中通過身份驗證用戶身份驗證或令牌的方式或方式?我們找不到任何有效的樣本。

我們是否必須在AAD註冊的應用程序之間配置任何信任? 在這個時候,Xamarin應用程序和Web應用程序對Web API有信任。不反之亦然。

我們認爲只有微軟的一個人確實(或試圖)記錄Azure移動應用程序,但他不再是微軟的員工。

回答

0

我們是否必須在AAD註冊的應用程序之間配置任何信任?

我們需要將Web API應用程序授予Web應用程序,如下圖所示。通常,當我們使用令牌調用We​​b API時,它將驗證令牌中的聲明和簽名。因此,對於未經授權的問題,請通過從this site進行解碼來檢查索賠。您應確保aud聲明與Web API項目中的受衆羣體匹配。

如果不匹配,則應使用應用ID URI作爲資源來獲取Web API令牌。

enter image description here

如果您仍然有問題,請你展示如何獲取令牌和保護網絡API的代碼。

此外,以下是關於調用保護的Web API與Azure的AD兩個鏈接:

active-directory-dotnet-webapp-webapi-openidconnect-aspnetcore

active-directory-dotnet-webapp-webapi-openidconnect

+0

好,謝謝,資源失蹤! – PeterLiguda

+0

即使我定義資源(Web App Uri ID或Web App Guid),受衆也不是Web API,受衆仍然是Web應用程序,並且我得到401錯誤... – PeterLiguda

+0

可能是什麼原因,即'aud'仍然是Web App而不是Web Api? https://pastebin.com/SqYH59LN – PeterLiguda

相關問題