6

ASP.NET Web APIの設計と学習において、助けと議論が必要ないくつかの課題に遭遇しました。

OAuthを使用しないセキュアRESTAPIの設計に関するこの優れた投稿に触発されて、私が求めようとしているさまざまなトークンと情報を検証するための最善の方法を考えています。

簡単な要約は、(クエリ文字列で)次の情報を要求することです。

  • ユーザーID
  • APIキー
  • タイムスタンプ
  • ユーザーが発行され、リクエスト値と一緒にハッシュされた秘密鍵に基づく署名ハッシュ

私の質問/疑問はこれです:

これが適切なアプローチである場合、ASP.NET Web APIを使用してこれを実装するための最良の方法は何でしょうか?

私は現在、メソッドにマークを付けることができるカスタム属性、クエリ文字列から必要なものを取得する一種のAuthorize属性、またはすべての値を含み、すべてを保持するために使用できるPOCOタイプオブジェクトのいずれかを使用することを考えています。 1か所の認証タイプコード。

誰かがこれについて何か経験や考えを持っていますか?

ありがとう :)

4

1 に答える 1

5

現在、ご覧のとおり、このAuthorizeAttributeアプローチは Web API で使用されています。承認が必要な個々のアイテムにこの属性を付けることができるという点で、これはかなり良いアプローチだと思います。

を拡張して認証を行いましたSystem.Web.Http.Filters.AuthorizationFilterAttribute。拡張した後は、すべての承認の詳細はあなた次第であり、選択できるアプローチはたくさんあります。

于 2012-02-28T22:00:24.090 に答える