java - RESTful token 和 session

标签 java web-services api rest

我想知道如何使用授权的 RESTful 服务器的最佳实践是什么。

假设登录后服务器为我提供了一个 token ,然后对于每个请求我也必须提供它。我的问题是:我应该将此 token 保存在服务器 session 中吗?或者我应该对每个请求的数据库进行身份验证?

最佳答案

有几种方法。您只能将其保留在内存中,但是如果集群中有多个服务器,则必须确保对给定 token 的请求始终发送到同一台服务器,或者在所有服务器之间分发 token 。

您还可以对 token 数据进行加密签名,将数据和签名包含在 token 中,并在每个请求时验证签名。这样你就可以确定 token 是由你颁发的,并且你可以完全无状态。

请注意,如果您已经在使用 HTTP session ,则该 token 是多余的,因为 session 机制已使用 Cookie 中的 token 来跟踪 session 。

关于java - RESTful token 和 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25470319/

相关文章:

java - Singleton的2种实现

java - Jboss:用数据初始化数据库

wcf - 在不更改站点绑定(bind)的情况下更改 WCF Web 服务的公开端点 URL

ruby-on-rails - 如何在 json 中不渲染任何内容?

java - java中如何处理两个jar文件?

javascript - 如何使用客户端java脚本显示通过web服务接收的最后N条记录?

asp.net - 哪个对于依赖项更好 : Web Service vs XML?

node.js - 如何在node js中的api(计算机视觉-azure中的缩略图服务)响应的网页中显示图像

javascript - 在浏览器中加载node-spotify或spotify-web Node 模块

java - 简化自定义类型上 Collections.sort 的实现