我正在構建一個將REST API(WCF WebAPI)向全球公開的社交網站,以便任何開發者都能夠爲該網站創建客戶端應用程序,將其與其他服務集成在一起等。使用Azure ACS和OAuth 2.0的Facebook式API訪問方案:如何實施應用程序授權?
我想實現API的Facebook/Twitter式訪問控制機制。因此,開發人員將在網站的開發人員部分註冊他們的應用程序,創建一個密鑰並在OAuth工作流程中使用該應用程序密鑰來訪問該API。
由於我在此項目中使用Azure,因此我考慮利用Azure ACS來促進OAuth進程。但是,我無法找到與ACS進行應用程序授權的任何代碼示例或手冊。
有人可以分享這樣的例子,或至少給我自己的研究方向嗎?如果我可以通過其他OAuth庫(例如DotNetOpenAuth)實現Facebook/Twitter行爲,那也會很酷。
預先感謝您。
謝謝您的答覆。我已經審查了你指示給我的樣本。這有點相關,但無論如何它沒有什麼幫助。它包含了太多的編程代碼,特別是在WebClient部分,所以我想知道爲什麼我需要ACS(付費服務!)和WIF一起完成OAuth。它並沒有讓事情變得更簡單。 我真正需要的是簡單的基於URL的工作流程解釋在這個頁面http://developers.facebook.com/docs/reference/dialogs/oauth/我可以用ACS實現類似的方法嗎? –
Alex您應該更專注於Authorization Server代碼而不是Web Client。 你的問題的答案是肯定的。但它不會只是在ACS門戶中進行一些設置。您需要編寫一半的OAuth授權服務器,並且您需要爲客戶編寫帳戶管理Web前端。 – Atacan
是的,我明白我需要編寫一些代碼。我非常關心Web客戶端代碼的原因是我的目標是讓API訪問像在Facebook中一樣簡單:我只是將用戶重定向到Facebook上的用戶登錄和授權應用程序的頁面。當他/她完成時,我只收到令牌。沒有額外的往返服務器的授權碼。客戶端大小沒有複雜的邏輯。只需一個GET請求 - 我有令牌。我瀏覽了幾個ACS代碼示例,文檔和實驗,沒有人幫我弄清楚如何實現這樣一個簡單的場景。 –