web-dev-qa-db-ja.com

ASP.NET WebAPIの承認と認証

安全なasp.netWebAPIを構築しようとしています。 APIを保護する方法はたくさんありますが、私の場合、これを実装するための最良の方法または「業界標準」を知りたいと思います。

これらは私の要件です-APIはウェブサイト/モバイルアプリなどのために少数のサードパーティ開発者によって使用されます。-このAPIを使用したい開発者は、APIにアクセスするためのキーを与えられる必要があります(承認)-ユーザー(訪問者/消費者)は、サードパーティのアプリにログインして、個人情報を表示する必要があります。 -APIは、ユーザーの管理/認証にASPメンバーシップデータベースを使用します。

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

OAuth 2.0は解決策ですか?

18
JeanD

トークン/キーを使用した認証/承認について説明している非常に優れた記事があります。

また、ASP.NET WebAPIセキュリティに関するその他の優れた方法についても説明します。

12
tpeczek

また、以下をサポートできる Thinktecture.IndentityModel.4 ライブラリの使用をお勧めします。

ベース

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

クレーム

  • 匿名クレームプリンシパル
  • 認証インスタントクレーム
  • クレームベースの承認

定数

  • アルゴリズム、日時形式、JWT、SWT、WS-Security、WS-Trustを扱うときに役立つ定数

拡張メソッド

  • XML(XmlReader、XmlDocument、XDocumentとの間で)
  • WS-Trust RSTR
  • セキュリティトークンの変換
  • X.509証明書
6
Paige Cook