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

Is it safe to send the result of AuthenticationTokenCreateContext.SerializeTicket to the client?

我正在努力寻找有关 Microsoft.Owin.Security.Infrastructure.AuthenticationTokenCreateContext.SerializeTicket

结果有多敏感的信息

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

中反序列化它

我需要加密吗?加密后发给客户端有问题吗?

我见过的所有实现都在服务器端存储此票证,并且只向客户端发送一个标识符。不知道有没有理由不自己送票?

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

经过深思熟虑,我发现这种方法有以下优点:

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