2012-09-18 237 views
18

我試圖構建一個安全的asp.net web api。你可以找到很多關於如何保護你的API的方法,但是我想知道爲我的情況實現這個目的的最佳方式或「行業標準」是什麼。ASP.NET Web API授權和身份驗證

這些是我的要求 - 該API將通過網站,少數第三方開發者可以使用/移動應用等 - 開發誰想要使用這個API已經被賦予一鍵訪問API (授權) - 用戶(訪客/消費者)必須登錄第三方應用才能看到他們的個性化信息。 - API將使用ASP成員資格數據庫來管理/認證用戶。

我知道可以使用http基本身份驗證來驗證用戶,但是如何實現API的授權部分?

OAuth 2.0是一種解決方案嗎?

回答

6

我也建議使用Thinktecture.IndentityModel.40庫,可支持以下功能:

基地

  • Base64Url編碼
  • 大紀元日期時間轉換
  • 隨機數生成
  • 時間常數字符串比較

權利要求

  • Anoynmous聲明主體
  • 認證即時要求
  • 基於聲明的授權

  • 有用的常量與算法交易時,日期時間格式,智威湯遜,SWT,WS-Security的& WS-信託

擴展方法

  • XML(往返XmlReader中,XmlDocument的,的XDocument)
  • WS-信託RSTRs
  • 安全令牌轉換
  • X.509證書