2013-04-21 33 views
5

.NET 4.0でASP.NET MVC 4サイトを開発しています。 WEB APIのサイトを認証しようとしています。サイトはユーザー名とパスワードを渡し、WEB APIはそれを認証します。認証されている場合、WEB APIは役割付きのトークン、Time To Liveなどを返します。これに関するいくつかのポインタを探しています。Asp.net MVC 4 + WEB API - カスタム認証トークン

1.)このトークンを生成するにはどうすればいいですか?私はSTSなどを使用したくありません。たとえばかばかしいプルーフのアプローチでさえそうです。 2.)MVC側では、このトークンを受け取って現在のセッションを認証済みとして設定し、TTLが期限切れになったらユーザーをログインページにリダイレクトする必要がありますか?また、すべてのWEB APIリクエストで、私はこのトークンを送信する必要があります。

答えて

4
でうまく動作します

一般に、トークンを生成し、その検証ロジックを手動で実装することも、サードパーティのツールを使用することもできます。

手動実装では、ブログ投稿でhereまたはhereと表示されます。これは、あなたの出発点になる可能性があります。それはhttp://oauth.googlecode.com/svn/code/csharp/OAuthBase.csクラスに基づいています。

クライアントサイドとOAuthのコンセプトについては、hereをよく読んでください。

第三者より、gooの選択肢はDotNetOpenAuthです。これは良いライブラリですが、OAuthで作業する場合は複雑です。それを見てみるWeb API OAuth2 sample

2番目の質問 - 答えははいです。トークンを検証し、要求を認証済みとして設定します。とにかく、実装されているWep API OAuthサンプルを見ることができます。

1

これは、開始するには良い場所の一つとなり、asp.netメンバーシップ

https://stackoverflow.com/a/7217957/989679

ときれいでこのネクタイはあなたが基本的なAuthCookieののuserDataに情報を格納し、WebAPIの

3

あなたは、私は現在で働いていますWebAPIのトークン認証のブートストラップパッケージを使用して検討するかもしれない - GitHubまたはNuGetでご利用いただけ 。

GitHub Wikiで入手できる資料とコードサンプル。

WebAPIアプリケーションの単純なトークンとユーザーの認証と承認のブートストラップ のログインとログアウト(Cookieベース)と自動 トークンの解析と認証(クエリ文字列内、フォームデータまたは クッキー)の組み込みサポートを持つ 'TokenAuthApiController'が提供されています。 AdminUserPublicまたはAnnonymous

このブートストラップは、あなたは、単に適切なAccessLevelと行動に関する[TokenAuthentication]属性を持つことができます。

このブートストラップはまた、伝統的なApiControllerから継承し、here詳細な余分な機能を追加しますTokenAuthApiControllerを提供します。

質問を引き出したり、問題を報告したり、お寄せください。