java - 用户 token 认证 Spring MVC RESTful API

标签 java api security rest spring-mvc

我想用用户 token 保护我们的 REST API。

  1. 用户向 API 发出初始请求以获取访问 token (必须提供自己的凭据 - 登录名和密码)
  2. 服务通过提供的凭据找到用户
  3. 如果找到用户,服务会创建一个具有时间到期的唯一 token 并将其返回给用户( token 到期可以定义为 now() + 15 分钟 - 足够了吗?此类 token 的标准到期时间是多少? ?)
  4. 用户必须在他的所有请求中提供此 token ,或者在过期时请求新 token 并且 API 处理原始请求

我想问你 - Spring 框架 native 是否支持这种身份验证流程 - 我会很高兴有一些简单的示例或 Spring 文档的 URL?如果是这样,我需要使用什么?我研究了 Spring 文档并阅读了许多教程,似乎对所有内容都有支持,我需要知道什么是最适合我的问题。

最佳答案

对于基于 token 的资源授权,一个不可避免会出现的框架是 oAuth

oAuth 将帮助您准确地实现您想要的工作流程,例如用户可以进行身份​​验证,然后获得 token 以通过 API 访问一组已定义的资源。然而,它相当重量级,绝对值得花时间了解它的工作原理以及它完全符合您的需求。

“官方”网站是 here . oAuth 有两个版本,因此这将再次帮助您了解哪个版本适合您。

至于 Spring Security 集成,有一个 Spring Security oAuth project .这方面的文档在如何与 Spring Security 集成方面非常好,而且在帮助您理解 oAuth 是适合您的项目的正确解决方案方面。

关于java - 用户 token 认证 Spring MVC RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490597/

相关文章:

java - 我怎样才能减少这段代码的执行时间

java - 调用和使用 Java 方法时遇到问题

javascript - 如何从公共(public) API 获取 JSON 响应到 JSON 对象?

security - 忽略 'Security Warning' 从命令行运行脚本

c - 缓冲区溢出: writing code to stack and executing there

java - 责任链设计模式实现,在不同点开始停止链

java - 通过将 Spring MVC 与 AJAX/JSON 和 MappingJackson 结合使用来引发 LazyInitializationException

api - 如何使用 WSDL 格式的 Ideone API

Python 报告生成器

ios - 火力地堡 ".read": "auth != null && auth.uid == $uid" not working as expected