2013-01-09 49 views
0

我正在尋找一些關於人們認爲是最好的一套技術的指導。我們正在創建一個門戶網站,允許客戶使用標準憑證或他們的社交賬戶(Google,Twitter等)進行註冊/登錄。使用DotNetOpenAuth實現Web應用程序和Web API的登錄系統

一旦他們註冊並登錄到門戶網站,他們就可以訪問我們不同的Web應用程序,這些應用程序將根據令牌知道他們是誰以及他們擁有什麼權限。我們還需要使用某種OAuth機制來保護一組Web API,因此用戶可能會在Web應用程序上創建一個帳戶,然後創建一個應用程序,以便爲他們提供從他們自己的API訪問API所需的密鑰應用程序。

我們使用MVC 4和DotNetOpenAuth一個基本的門戶應用程序,它允許用戶創建一個帳戶,並用一個用戶名和密碼,或他們的谷歌,Facebook帳戶登錄等的 的API將MVC 4個的Web API的

理想情況下,整個設置需要儘可能簡單,我簡要介紹瞭如何使用Windows Azure訪問控制(ACS)作爲一種方法來削減一些繁重的工作,但很難確定它的確切位置一起。

目前我們運行ADFS 2.0服務器和WIF允許Web登錄到我們的應用程序,但它似乎並不像整合社會登錄時,這將是一個理想的選擇,併爲確保該Web API

我猜它可能是兩個相當獨立的部分,一旦他們登錄到門戶網站,我們將如何去爲其他應用程序提供某種聲明令牌,然後他們可以訪問這些應用程序來了解用戶是誰以及他們可以做什麼。也許Web API認證/授權是它自己的實體?

感謝您的時間

+0

https://github.com/thinktecture/Thinktecture.IdentityModel.45這看起來可能適合照片中的某個地方 – JeremyBeadle

回答

0

我們結束了使用內置的MVC 4登錄系統,並還增加了智威湯遜令牌支持,當用戶登錄的JWT令牌包含他們的要求被存儲爲一個cookie。然後,瀏覽器會自動在同一個域上傳遞我們的網站,當從JavaScript調用Web API時,它會檢查瀏覽器發送的標頭中的令牌,並驗證它並返回正確的數據或返回未經授權的響應。

它沒有涵蓋所有的基礎,我們不能給值得信賴的第三方訪問我們的網絡服務,但