2013-12-10 76 views
2

我想用用戶令牌來保護我們的REST API。用戶令牌認證Spring MVC RESTful API

  1. 用戶進行初始請求,API獲得的訪問令牌(必須提供自己的證書 - 用戶名和密碼)
  2. 服務所提供的憑證
  3. 如果找到用戶,服務創建查找用戶一個具有時間到期的獨特令牌並將其返還給用戶(令牌過期可以定義爲now()+ 15分鐘 - 是否夠用?這種令牌的標準過期時間是多少?)
  4. 用戶必須提供此令牌他所有的要求或要求新的令牌到期和API處理原始請求

我想問你 - 是否有在Spring框架原生支持這樣的身份驗證流程 - 我會很高興與一些簡單的例子或URL到Spring文檔?如果是這樣,我需要使用什麼?我學習了Spring文檔並閱讀了許多教程,似乎對所有內容都提供了支持,而且我需要知道什麼是最適合我的問題。

+0

您所請求的令牌是否與sessionId相同?爲什麼不只是使用服務器返回的jsessionid作爲您的令牌? –

回答

1

對於基於令牌的授權資源,一個框架,它不可避免地會行動將是oAuth

的OAuth將幫助你實現正是你的願望例如工作流用戶可以進行身份​​驗證,然後獲得令牌以通過API訪問定義的一組資源。然而,它相當重量級,絕對值得花時間瞭解它的工作原理,並且它完全符合您的要求。

「官方」網站是here。有兩個版本的oAuth,這將再次幫助你理解哪一個適合你。

至於Spring Security的整合,還有一個Spring Security oAuth project。無論是在集成如何與Spring Security配合的層面上,這個文檔都非常好,而且在幫助您理解oAuth是您項目的正確解決方案方面也是如此。

+0

我知道所有OAuth dis /優點,但我不想使用OAuth。由於某些原因,我需要在Spring中實現我自己的授權。 – user2148736