2014-06-17 61 views
4

我在演練http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api教程來實現ASP.NET WebApi承載令牌認證。ASP.NET身份承載令牌。它是持久的嗎?

當我在Azure網站上停止/重新啓動/部署後訪問[Authorize]方法時,它仍然可以訪問它們。此外,我可以訪問兩個不同的設備(不同的令牌爲相同的身份),仍然可以訪問。

我不知道深入的令牌識別機制,但似乎發佈的持票人令牌不保存在服務器內存或數據庫中。

我的問題可以概括爲以下...

  1. 是否承載令牌包括我的身份堅持,並承認我,直到我重新授權(基於上面的教程)?
  2. 什麼是混合和哈希來製作不記名令牌的信息?只有我的relm,身份和時間戳?或服務器密鑰(我知道以前的ASP.NET成員使用註冊表中的服務器密鑰)?
  3. 如果我作爲WebRoles部署到多個服務器,該怎麼辦?他們是否還承認已發佈的令牌等等?
  4. 每個身份是否有最多可識別令牌?

回答

2
  1. 不記名令牌不承認你,OAuth令牌提供者端點確認您與承載令牌。該令牌將持續存在,並在您到期之前識別您的身份(默認爲10分鐘)。在這個示例應用程序它被設置爲14天,見AccessTokenExpireTimeSpan = TimeSpan.FromDays(14)
  2. 它也可能包括一些請求本身。
  3. 示例應用程序對OAuth令牌提供程序使用OWIN中間件實現,請參見app.UseOAuthBearerTokens(OAuthOptions);這是基於每臺服務器的基礎,並且還有其他令牌提供程序可支持服務器的多個實例。 Facebook,谷歌,微軟賬戶,推特,或者你可以推出自己的。
  4. 這取決於令牌提供者,但大多數情況下您可以擁有多個具有相同身份的會話。
相關問題