通常我可以在 session 中存储用户信息,现在我想开发一个同时具有Android客户端和浏览器客户端的应用程序。所以我想我可能需要一个 RESTful 服务器。但是我在身份验证方面遇到了一些问题。有人建议我可以使用Token机制,但是我不知道这方面的细节,也找不到很多有用的信息。
我有一些问题。
- 我应该将 token 存储在浏览器和 Android 客户端的什么位置?我应该使用 cookie 吗?
- 如何生成Token?
- 服务器如何验证Token?服务器应该存储 token 吗?
- 还有其他认证方式吗?
我使用 spring mvc 和 hibernate。如果有人可以给我一些建议,这将对我有很大帮助。
最佳答案
一般的想法是,当用户登录(调用您的 api 的登录端点)时,您会生成一个随机 token ,您将其保存在服务器中(与用户相关)并返回给调用者(android)。 所有其他调用也将需要此代码,您可以将其与您保存的代码进行比较。您还可以让代码在一段时间后超时,并根据您的需要,使用预定义的 key 对其进行编码以增加一点安全性。
关于java - 如何使用 REST Web 服务器维护登录状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28896553/