【问题标题】:ASP.NET Identity bearer token. is it persistent?ASP.NET 身份持有者令牌。它是持久的吗?
【发布时间】:2014-08-06 23:48:42
【问题描述】:

我演练了http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api 教程来实现 ASP.NET WebApi Bearer Token 身份验证。

当我在 Azure 网站上停止/重新启动/部署后使用已发布的不记名令牌访问 [Authorize] 方法时,它仍然可以访问它们。而且,我可以用两个不同的设备访问(相同身份的不同令牌),仍然可以访问。

我不太了解令牌识别机制的内部,但似乎已发布的不记名令牌既不保存在服务器内存中,也不保存在数据库中。

我的问题可以总结如下……

  1. 不记名令牌是否永久包含我的身份并在我重新授权之前确认我(基于上述教程)?
  2. 要混合和散列哪些信息来制作不记名令牌?只有我的领域、身份和时间戳?或服务器密钥(我知道以前的 ASP.NET 成员在注册表中使用服务器密钥)?
  3. 如果我作为 WebRoles 部署到多个服务器会怎样?他们是否仍然承认已发布的代币等?
  4. 每个身份是否有最大数量的可识别令牌?

【问题讨论】:

    标签: c# azure asp.net-web-api asp.net-identity-2


    【解决方案1】:
    1. 不记名令牌未确认您,oauth 令牌提供程序端点使用不记名令牌确认您。令牌将持续存在并识别您,直到它过期(默认 10 分钟)。在此示例应用程序中,它设置为 14 天,请参阅 AccessTokenExpireTimeSpan = TimeSpan.FromDays(14)
    2. 它还可能包括一些请求本身。
    3. 示例应用程序为 OAuth 令牌提供程序使用 OWIN 中间件实现,请参阅 app.UseOAuthBearerTokens(OAuthOptions); 这是基于每个服务器的,还有其他令牌提供程序支持服务器的多个实例,例如facebook、google、microsoft 帐户、twitter,或者您可以自己滚动。
    4. 这取决于令牌提供者,但大多数情况下,您可以拥有多个具有相同身份的会话。

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2020-10-05
      • 1970-01-01
      相关资源
      最近更新 更多