2015-07-13 47 views
1

在單頁JS(Mithril)應用程序中進行用戶管理的最佳方式是什麼?我希望用戶登錄以加載首選項並扮演角色,以便獲得某些權限。我有一個用Python編寫的REST API後端(Falcon web framework)。讀了一下之後,似乎歸結爲向後端發送憑證並取回令牌。但問題是如何做到這一點。看起來tokens are a better method than cookies,但這對祕密/令牌的交換有影響。例如'xhr.withCredentials'方法似乎是基於cookie的。 JWT(json網絡令牌)似乎是一個現代的,有趣的選項,但很難找到一個清晰的解釋它如何與SPA一起使用。一旦Mithril應用程序有一個令牌,我應該在哪裏存儲它,以及我應該如何存儲它將它用於隨後的請求?單頁App + REST後端用戶管理

回答

1

這不是關於祕銀的事情,實際上唯一與祕銀有關的領域是服務器通信。這是通過m.request方法(docs here)完成的,但您需要爲所有需要驗證的服務器通信創建一個對象。

該對象應該具有有關授權系統的知識,並檢測令牌是否過期,然後請求一個新的,如果事情失敗採取適當的措施等。這是一個工作,但對於大多數auth系統來說過程是不同的,所以除了使用已經存在的東西外,沒有太多要做。作爲一個小而精簡的MVC框架,Mithril沒有任何內置的安全相關功能,但m.request方法功能非常強大,您應該在auth通信對象中使用它。

客戶端存儲將位於Cookie或HTML5存儲中。這是一個更深入的StackExchange答案:https://security.stackexchange.com/a/80767但重點是這不是與祕銀相關的。

感謝鏈接到標記與cookie文章,這是非常好的!

+0

很好的答案!謝謝,思科! –

+0

很高興我能幫到你。 :) – ciscoheat