2016-11-07 117 views
2

我對Azure很陌生,所以我很抱歉,如果我的術語有點關閉。我繼承了一個Web服務,該服務使用Azure上的OAuth 2對用戶進行身份驗證。我被要求創建一個應用程序,使用像this這樣的證書來訪問服務。使用OAuth或證書進行Azure承載身份驗證?

我已經實現了上面的解決方案,它運行良好。但是,我必須將服務的受衆從GUID更改爲URL,例如:

Was: <add key="ida:Audience" value="709a****-****-****-****-*************" /> 
Now: <add key="ida:Audience" value="https://***.onmicrosoft.com/cafc****-****-****-****-*************" /> 

這意味着用戶無法再使用OAuth登錄。是否可以在兩種情況下使用相同的受衆羣體,或指定兩個受衆羣體?

感謝,

回答

1

是否可以在兩種場景中使用相同的觀衆,或者指定兩個觀衆?

是的,這是可能的。受Azure AD保護的Web服務不關心您如何獲取令牌。在這種情況下,您希望使用OAuth 2.0代碼授權流程客戶端憑證流程獲取令牌。它會驗證基於配置的令牌,例如像觀衆租戶

根據描述,你在你的web服務改變了觀衆。爲了使Web服務來繼續支持使用的OAuth 2.0代碼授予流獲得令牌,你還需要使用新的觀衆改變資源(看來你獲得使用在該GUID的令牌舊請求)。

1

你將不得不您的應用程序分成Azure中的Active Directory中的兩個註冊的應用程序。您可以在documentation中看到身份驗證方案。目前的情況是:

  • Web瀏覽器的Web應用程序
  • 單頁應用
  • 本機應用程序的Web API
  • Web應用程序的Web API
  • 守護程序或服務器應用程序的Web API

下圖顯示了每種認證方案的交互點: enter image description here

正如你可以看到每個場景都有一個驗證對它的請求的特定方法。對於您的場景,您需要一個Web API,它可以請求您需要的信息,然後是用戶與之交互的瀏覽器應用程序,然後是可以與相同API交互的守護進程。

相關問題