如何使用REST web服务器保持登录状态?

3

通常我可以将用户信息存储在会话中,现在我想开发一个既有Android客户端又有浏览器客户端的应用程序。所以我认为我可能需要一个RESTful服务器。但是我遇到了一些身份验证问题。有人建议我可以使用令牌机制,但我不知道细节,并且找不到很多有用的信息。

我有一些问题。

  1. 在浏览器和Android客户端中应该将Token存储在哪里?我应该使用cookie吗?
  2. 如何生成Token?
  3. 服务器如何验证Token?服务器应该存储Token吗?
  4. 是否有其他认证方式?

我使用Spring MVC和Hibernate。如果有人可以给我一些建议,那将对我很有帮助。

1个回答

0

总的想法是,当用户登录(调用您的API的登录端点)时,您会生成一个随机令牌并将其保存在服务器上(与用户相关),然后返回给调用者(Android)。 所有其他调用也需要此代码,您将与保存的代码进行比较。根据您的需求,您还可以在一段时间后使代码超时,并使用预定义的密钥对其进行编码以增加一些安全性。


谢谢您的回复。"保存在服务器"是指将其保存在数据库中还是其他地方? - Yi Fan Jian
数据库,以及它所针对的用户 - Evripidis Drakos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接