2

我使用 GO 服务器 (golang.org),它对加密和第三方包提供了很好的支持,它提供了基于 cookie 的基本会话处理。我正在寻找有关生成令牌的指南,以及存储、无效等的良好做法。我的应用程序需要自定义用户管理。可以在离线环境中使用 Oauth,还是有更好的方法?

4

1 回答 1

4

一般来说,会话​​ cookie 应该是:

  • 不透明。您不应传递任何隐藏在 cookie 中的信息。它只是一个标识符。
  • 猜不透。您不希望人们能够猜测其他人的会话令牌并劫持它们。
  • 抗碰撞。如果您的网站上同时有数千名用户,您需要相当大的令牌,这样两个用户就不会得到相同的令牌。
  • 安全存放。将您的会话信息保存在 Web 浏览器(和其他公共用户)无法访问它们的地方。通常这意味着将它们保存在服务器文档树之外的磁盘上,或者将它们放入数据库中。
  • 接近到期时删除。您不想永远保留会话数据。有时,您需要检查会话数据并删除所有已过期的内容。

我不确定 OAuth 是从哪里来的,因为那是一个身份验证系统,而您正在询问会话管理。(虽然我意识到这两者可能相关。)

于 2012-10-30T00:58:18.260 回答