Java REST服务基于令牌的身份验证:将生成的令牌存储在服务器端的何处?
我正在尝试为基于SpringMVC的REST服务实现令牌身份验证 我遵循这样的回答:作为指导,但现在我需要了解一些服务器端的细节 当用户第一次通过用户名+密码成功通过身份验证时,我返回一个存储一些信息的令牌。 当同一个用户在请求头中发送他的令牌时,我需要识别相关联的用户并定义is会话是否仍然处于活动状态 因此,方法基本上有两种: 用算法加密令牌哪个算法?我还可以使用在服务器端解密和提取用户信息 在应用程序数据库中存储令牌用户关联信息,并存储会话信息。 大多数人建议使用第一种解决方案,不在数据库中存储任何有关身份验证的信息,但在我看来,这种解决方案不太安全Java REST服务基于令牌的身份验证:将生成的令牌存储在服务器端的何处?,java,spring,rest,spring-mvc,spring-security,Java,Spring,Rest,Spring Mvc,Spring Security,我正在尝试为基于SpringMVC的REST服务实现令牌身份验证 我遵循这样的回答:作为指导,但现在我需要了解一些服务器端的细节 当用户第一次通过用户名+密码成功通过身份验证时,我返回一个存储一些信息的令牌。 当同一个用户在请求头中发送他的令牌时,我需要识别相关联的用户并定义is会话是否仍然处于活动状态 因此,方法基本上有两种: 用算法加密令牌哪个算法?我还可以使用在服务器端解密和提取用户信息 在应用程序数据库中存储令牌用户关联信息,并存储会话信息。 大多数人建议使用第一种解决方案,不在数据库中
有什么建议吗?我不确定,但如果客户端向您发送令牌,并在头中使用唯一的会话id,则您不希望加密和解密,也可以将会话id存储到数据库中。最好为令牌的每个用户客户端使用唯一的会话\u id。我建议不要使用您自己的,而是使用现有的实现,如Spring会话,这取决于您不清楚的确切要求。@chrylis非常感谢!我不知道有一个关于这个的春季项目。我来看看。