2012-09-18 46 views
18

私は安全なasp.net Web APIを構築しようとしています。 APIのセキュリティを確保する方法はたくさんありますが、私の場合にこれを実装するには、何が最良の方法か「業界標準」であるかを知りたいのです。 APIは、ウェブサイト/モバイルアプリケーション用のサードパーティ開発者の数が少ないによって使用されるなど - -ASP.NET Web APIの承認と認証

これらは私の要件 あり、このAPIを使用したい開発者はAPIにアクセスするためのキーを与えられるする必要が(承認) - ユーザ(訪問者/消費者)は、自分のパーソナライズ情報を見るためにサードパーティのアプリにログインする必要があります。 - APIは、ユーザーの管理/認証にASPメンバーシップデータベースを使用します。

ユーザーの認証にhttp基本認証を使用することはできますが、APIの認証部分を実装するにはどうすればよいですか。

OAuth 2.0は解決策ですか?

答えて

11

トークン/キーで認証/認可を記述した非常に良い記事があります:

また、ASP.NETのWeb APIのセキュリティに関するいくつかの他の良いプラクティスについて説明します。

6

私も次の機能をサポートすることができますThinktecture.IndentityModel.40ライブラリの使用をお勧めします:

ベース

  • Base64Urlエンコーディング
  • エポック日付時刻変換
  • 乱数生成
  • 時定数文字列の比較

請求

  • Anoynmousは、特許請求の範囲主
  • 認証インスタント項
  • クレームベース

定数許可

  • 便利な定数にしてXmlReaderを、常にXmlDocumentからアルゴリズムを扱う、日付時刻形式、JWT、SWT、WS-Securityの& WS-トラスト

拡張メソッド

  • XMLを(、 XDocument)
  • WS-トラストRSTRs
  • セキュリティトークン変換
  • X.509証明書
関連する問題