用户令牌认证Spring MVC RESTful API

时间:2013-12-10 09:29:19

标签: java api security rest spring-mvc

我想使用用户令牌保护我们的REST API。

  1. 用户向API发出初始请求以获取访问令牌(必须提供自己的凭据 - 登录名和密码)
  2. 服务按提供的凭据查找用户
  3. 如果找到了用户,服务会创建一个时间到期的唯一令牌并将其返回给用户(令牌到期可以定义为now()+ 15分钟 - 这是否足够?这些令牌的标准到期时间是多少? ?)
  4. 用户必须在其所有请求中提供此令牌,或在到期时请求新令牌和API处理原始请求
  5. 我想问你 - 在Spring框架 native 中是否支持此类身份验证流程 - 我会对Spring doc的一些简单示例或URL感到满意吗?如果是这样,我需要使用什么?我已经学习了Spring文档并阅读了很多教程,似乎对所有内容都有支持,我需要知道什么是最适合我的问题。

1 个答案:

答案 0 :(得分:1)

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

oAuth将帮助您实现您所需的工作流程,例如用户可以通过API进行身份验证,然后获得令牌以访问定义的资源集。然而,它是相当重量级的,绝对值得花时间了解它是如何工作的,并且它完全符合您的要求。

“官方”网站为here。 oAuth有两个版本,所以这将再次帮助您了解哪一个适合您。

对于Spring Security集成,有一个Spring Security oAuth project。在集成如何与Spring Security协同工作的水平上,以及帮助您理解oAuth是您项目的正确解决方案的相关文档非常好。