5

.NET 4.0 で ASP.NET MVC 4 サイトを開発しています。サイトを WEB API に対して認証しようとしています。これで、サイトがユーザー名とパスワードを渡し、WEB API がそれを認証します。認証された場合、WEB API はロール、Time To Live などを含むトークンを返します。これに関するいくつかの指針を探しています。

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

4

3 に答える 3

4

通常、トークンを生成してその検証ロジックを手動で実装するか、サードパーティのツールを使用できます。

手動での実装については、こちらまたはこちらのブログ投稿をご覧ください。http://oauth.googlecode.com/svn/code/csharp/OAuthBase.csクラスに基づいています。

クライアント側と OAuth の概念については、ここで良い答えを読むことができます。

サードパーティからの良い選択はDotNetOpenAuthです。これは優れたライブラリですが、OAuth を使用する場合は複雑です。そのWeb API OAuth2 サンプルを見てみてください

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

于 2013-04-21T08:51:59.277 に答える
3

私が現在取り組んでいるWebAPI Token Auth Bootstrap Packageを使用することを検討してください- GitHubまたはNuGetで入手できます。

GitHub Wikiで入手可能なドキュメントとコード サンプル。

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

このブートストラップにより[TokenAuthentication]、適切なAccessLevel: AdminUserPublicまたはAnnonymous.

このブートストラップはTokenAuthApiController、従来の機能を継承し、ここでApiController説明する機能を追加します。

リクエストのプル、問題の報告、貢献はお気軽に

于 2013-10-06T23:54:06.060 に答える
1

これは、開始するのに適した場所の 1 つです。これは、asp.net メンバーシップとうまく結びついています。

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

あなたは基本的にauthCookieのuserDataに情報を保存し、WebAPIでうまく動作します

于 2013-04-21T07:51:28.277 に答える