2016-01-11 106 views
1

我一直在研究這個主題一段時間,但我無法真正找到任何有用的信息,所以我認爲會在這裏提出問題。通過REST API進行用戶身份驗證

我有一個REST API,這已經建立,已經部署,我無法編輯。我試圖利用這個REST API來構建一個Web應用程序(使用Polymer)。我似乎無法解決的問題是用戶身份驗證。

使用的REST API處理所有的身份驗證功能。我需要做的就是發送帶有base64編碼的用戶名和密碼的POST請求作爲頭選項,服務器完成剩下的任務(足夠簡單)。

用戶通過身份驗證後,響應會在客戶端上使用JSESSIONID創建一個cookie,這是服務器用於對以下請求進行身份驗證的內容,直到達到會話限制,以便編碼頭選項不會需要發送以下請求。

一旦會話在服務器上到期,請求將返回400個錯誤,簡單地說需要用戶名和密碼。

我的問題是在基於JavaScript的客戶端中處理這個問題的最佳方法是什麼?我希望能夠優雅地處理到期,但實際上沒有任何方法(我可以想到如何處理此會話)。

任何和所有建議將不勝感激。

謝謝!

+0

爲什麼不使用基於jwt令牌的認證? –

+1

base64不安全,所以要小心 –

回答

0

有一個虛擬的servlet,它只會接收請求並不執行任何操作。單擊按鈕或用戶的某些UI活動來觸發Ajax調用。這些Ajax調用背後的原因是擴展會話。

每當您的會話過期時,您將得到錯誤的響應,其中將有401(未授權)狀態碼。一旦獲得401狀態碼,重定向到登錄頁面。

在單頁面應用程序的情況下,這種方法是優選的,因爲在瀏覽器中加載一次所有的資源。 我認爲這足以滿足您的關注。

相關問題