2013-05-06 95 views
3

我知道這個問題似乎類似於其他的兒子在這裏,但我已經試過張貼在這裏的答案:Securing WCF 4.5 service using Azure ACS 2.0Azure的WCF服務與Azure的Active Directory驗證

這裏:Federated authentication (single-sign-on) for a WCF REST/HTML-service on Azure

答案既不似乎是有關。

這是我到目前爲止。

  • 各種輔助角色的Azure雲服務,並與REST和SOAP端點
  • 與一對夫婦的用戶
  • ACS命名空間的蔚藍的活動目錄帳戶WCF Web角色。

WCF服務將由幾個不同的公司使用,但除此之外關閉。我們選擇azure活動目錄爲wcf服務和其他應用程序提供SSO。

這是我想做的事:

  • 創建用戶/於 Azure的Active Directory中使用WCF服務的每個公司的密碼。
  • 只允許擁有有效用戶名和密碼對的公司獲取訪問令牌
  • 讓每個公司使用其令牌訪問WCF方法。

我不認爲這會很難完成,但所有的教程似乎都是針對IIS託管或自行託管的服務與控制檯應用程序。

我迄今所做的:

  • 添加WCF服務在蔚藍的活動目錄
  • 集成應用程序創建的ACS命名testAAD一個新的身份提供者,並從添加的WS-聯合會元集成應用到供應商
  • 補充說,將新創建的testAAD身份提供
  • 增加了一個規則組與使用testAAD身份提供商和默認設置直通規則依賴方應用程序。

查看選項1 here瞭解更多詳情。 我需要知道我所做的事情是否接近正確,如果是,我如何讓WCF服務開始使用這些設置。

其他信息:

  • WIF 4.5
  • VS2012臨
  • C#

任何相關的教程鏈接或一般性的建議將是巨大的。提前致謝。

更新: 只需添加更多的信息,WCF服務是由許多不同的網站張貼。我們的每個客戶都會從他們自己的網頁表單收集數據,然後使用c#代碼添加服務引用,或者如果使用php,則通過類似curl的方式將數據發佈到url。該服務具有休息和肥皂端點。例如,他們會發送一個XML或SOAP請求到mynamespace.cloudapp.net/myservice.svc/servicemethod。我要麼讓他們發送他們的用戶名和密碼,並在實際的WCF方法中驗證這些憑據,或讓他們請求身份驗證令牌,然後將該身份驗證令牌發送給他們的請求。

更新2 我想我找到了缺失的一塊。爲了使用活動目錄作爲身份提供者,它看起來像我需要建立一個ADFS服務器。我曾認爲ADFS服務器已經安裝了Azure Active Directory帳戶,但顯然情況並非如此?有沒有辦法做到這一點沒有ADFS服務器?

回答

0

您尚未涉及的主要問題是how will these companies use that WCF service?。通過您的門戶網站,或通過豐富的客戶端(如WinForms/WPF)?

如果是富客戶端,你可以看看this blog post?它向您展示瞭如何使用令牌來保護WCF服務並從WPF應用程序訪問該服務。

如果您打算只允許通過您的門戶網站訪問WCF服務,則圖片會有所不同。您可以先通過Azure AD保護您的門戶並獲取用戶令牌。然後使用該標記對WCF進行身份驗證。

但是在真正的web場景中,將調用服務的client實際上是your web server。如果是這種情況,我會用Azure AD保護我的門戶網站。然後用一個訪問令牌保護我的WCF。我可以從Azure AD Access Control中的服務身份獲取該令牌。並提供此「服務令牌」作爲我的web server每個WCF呼叫的一部分。爲了增加審計(和合規性),我還會發送原始用戶令牌,以跟蹤誰訪問了什麼以及何時訪問。

+0

感謝您的快速回復,請參閱我的更新。我不確定你提到的任何場景是否適合我的情況。 – 2013-05-07 16:43:28

相關問題