4

http://www.asp.net/web-api/overview/security/individual-accounts-in-web-apiチュートリアルに従って、ASP.NET WebApi ベアラー トークン認証を実装します。

Azure Web サイトで停止/再起動/デプロイした後、発行されたベアラー トークンを使用してメソッドにアクセスする[Authorize]と、引き続きそれらにアクセスできます。さらに、2 つの異なるデバイス (同じ ID に対して異なるトークン) でアクセスできますが、引き続きアクセスできます。

トークン識別メカニズムの奥深くはわかりませんが、公開されたベアラートークンはサーバーメモリにもデータベースにも保持されていないようです。

私の質問は以下のように要約できます...

  1. ベアラー トークンには永続的に私の ID が含まれており、(上記のチュートリアルに基づいて) 再承認するまで承認されますか?
  2. ベアラー トークンを作成するために混合してハッシュする情報は何ですか? 自分のレルム、ID、タイムスタンプだけ? またはサーバーキー(以前のASP.NETメンバーシップはレジストリでサーバーキーを使用していることを知っています)?
  3. WebRoles として複数のサーバーにデプロイするとどうなりますか? 彼らはまだ公開されたトークンを認めていますか?
  4. IDごとに識別可能なトークンの最大数はありますか?
4

1 に答える 1

2
  1. ベアラー トークンはあなたを認識しません。oauth トークン プロバイダー エンドポイントは、ベアラー トークンであなたを認識します。トークンは有効期限が切れるまで保持され、ユーザーを識別します (既定では 10 分)。この例のアプリでは、14 日に設定されていますAccessTokenExpireTimeSpan = TimeSpan.FromDays(14)
  2. また、リクエスト自体の一部が含まれる場合もあります。
  3. サンプル アプリでは、OAuth トークン プロバイダーに OWIN ミドルウェアの実装を使用します。app.UseOAuthBearerTokens(OAuthOptions);これはサーバー単位であり、Facebook、Google、Microsoft アカウント、Twitter など、サーバーの複数のインスタンスをサポートするトークン プロバイダーは他にもあります。ロールすることもできます。あなた自身の。
  4. トークン プロバイダーによって異なりますが、ほとんどの場合、同じ ID で複数のセッションを持つことができます。
于 2014-06-17T05:34:05.533 に答える