将AuthenticationTokenCreateContext.SerializeTicket的结果发送到客户端是否安全?

时间:2017-01-04 11:31:12

标签: c# asp.net owin refresh-token

我很难找到有关Microsoft.Owin.Security.Infrastructure.AuthenticationTokenCreateContext.SerializeTicket

结果的敏感程度的信息。

理想情况下,我希望避免将其存储在服务器上,而只是将其发送到客户端(作为令牌),以便我可以在AuthenticationTokenProvider.ReceiveAsync中反序列化它

我需要加密吗?即使在加密后将它发送到客户端也是一个问题吗?

我见过的所有实施都存储了此票务服务器端,并且只向客户端发送标识符。我不知道是否有理由不发票?

1 个答案:

答案 0 :(得分:0)

我最终将票证存储在服务器上,只向客户端发送标识符。

经过多思考后,我发现这种方法有以下优点:

  • 客户仍然可以使用故障单(通过发回标识符)
  • 票证可以在服务器端无效(通过从数据库中删除它们),例如当用户密码更改时
  • 不再需要知道哪些数据是敏感的(票证始终保留在服务器上)
  • 它可以防止伪造票证(票证标识符在我的实现中是随机的Guid)