2016-03-27 87 views
0

我有一個基於無狀態頭的身份驗證API端點。我想建立我的網站,將要求它的數據。作爲一個無狀態身份驗證,並考慮到服務器不維護任何會話的事實,我將如何去實現同樣的登錄流。我正在構建一個AngularJS SPA,並將在我的應用程序中使用多條路線。處理生產級服務的身份驗證的最佳方式是什麼?我遇到了AngularJS cookies,但它並不是真的那麼安全(我擔心可能會發生Cookie劫持)。我在這裏有什麼選擇?任何幫助將非常感謝,因爲我完全陌生的登錄流。使用Angular JS登錄流程

我將通過SSL發送標題,原因很明顯。但是我這樣做容易受到攻擊? https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https這裏指出了一些弱點,但我如何克服這些缺陷?任何幫助將非常感激。 PS:我知道現在有更好的方法通過在服務器端進行修改來實現它,但是如果我正在考慮當前所有方法的工作情況(如上所述),我將如何處理它?

回答

1

我會建議使用JSON Web令牌(https://en.wikipedia.org/wiki/JSON_Web_Token)....檢查出https://github.com/auth0/angular-jwt爲即時可用的Angular解決方案。你只需要設置服務器端的一部分。

+0

但是,如果我正在考慮堅持不改變我的服務器功能的方式,由於其他依賴項,我將不得不最終修改,我將如何處理這個? – Kakarot

+0

實現一個服務器端JWT系統並不難,實際上有幾個庫可用於PHP,ASP和其他很容易設置的庫。所有你需要做的就是爲你的API創建一個新的端點來處理JWT登錄和驗證,不需要修改你的服務器端應用程序,只需將JWT系統連接到你的數據庫,你就可以很好地進行(需要一些調整) 。 – Iansen