2012-06-25 47 views
4

我想知道是否有人能指引我走向正確的方向。我們目前正在考慮爲客戶端託管一個Web應用程序,該客戶端將通過客戶端的ADFS IIS服務器進行身份驗證,以便利用SSO等。這樣做很好,沒有問題。ADFS身份驗證委託桌面/移動應用程序

當我們考慮我們現有的桌面和移動應用程序(.NET,iOS,Android等)時,問題就出現了。我們需要針對與我們的Web應用程序相同的用戶存儲驗證這些應用程序。

是否可以使用外部ADFS服務器來驗證Windows桌面應用程序(用.NET編寫)?如果是這樣,請你能指點我一個例子嗎?

是否可以根據ADFS驗證原生移動應用程序?我想我們需要手動創建HTTP請求等來處理這個問題。有人可以給我任何相關的文檔/例子嗎?

或者,對於移動應用程序,最好是託管我們自己的內部Web服務,它扮演着「中間人」的角色。再次,任何這樣的例子將不勝感激。

感謝 大衛

+0

感謝隊友,指出。 – DavidReid

回答

2

這取決於服務的,你是從客戶端呼叫類型(移動或桌面)。如果它是一個SOAP Web服務,那麼它全部支持(例如使用WS-Trust)。 WCF已經爲基於聲明的身份驗證提供了綁定,因此除了.NET之外,您不需要太多的客戶端。

移動客戶端傾向於支持輕量級協議(例如OAuth,REST端點等)。這些不受ADFS支持,但您可以添加ACS(Windows Azure Active Directory)並將其作爲中介,爲您執行協議轉換。

對於這兩種方案很好的例子是可用這裏:http://msdn.microsoft.com/en-us/library/ff423674.aspx

具體來說:

SOAP: http://msdn.microsoft.com/en-us/library/hh446528

REST /設備:http://msdn.microsoft.com/en-us/library/hh446533

+0

其中的鏈接似乎不工作了 – anIBMer

+0

爲我工作... –

1

另一種可能的解決方案是使用「t」的自定義STS將「OAuth」轉換爲SAML令牌,然後將ADFS與自定義STS聯合。在Identity Server中有一個這樣的例子。

因此,鏈將例如成爲:桌面和移動 - OAuth - 定製STS - WS聯邦 - ADFS

相關問題