使用OAuth 2我只需限制用戶對允許資源的訪問權限,其中API通過ext.js REST代理進行連接。 ext.js代理負責數據檢索並維護模型關係。我還沒有找到一種優雅的方式來進行從代理到後端的不同呼叫,具體取決於用戶登錄。Sencha touch 2 oauth2身份驗證
我想知道,如果代理登錄到我的應用程序,每個用戶都必須不同有他們自己的訪問令牌。
另一種選擇是在代理初始化過程中讓代理了解登錄用戶並以持久方式保存這些信息。
有沒有人解決過類似的情況?
使用OAuth 2我只需限制用戶對允許資源的訪問權限,其中API通過ext.js REST代理進行連接。 ext.js代理負責數據檢索並維護模型關係。我還沒有找到一種優雅的方式來進行從代理到後端的不同呼叫,具體取決於用戶登錄。Sencha touch 2 oauth2身份驗證
我想知道,如果代理登錄到我的應用程序,每個用戶都必須不同有他們自己的訪問令牌。
另一種選擇是在代理初始化過程中讓代理了解登錄用戶並以持久方式保存這些信息。
有沒有人解決過類似的情況?
該文章詳細介紹瞭如何在Sencha Touch中使用OAuth2。
有幾種方法可以使用OAuth。在初始認證後使用重定向(爲此,您可以在Sencha登錄視圖內使用iFrame)。另一個使用後端服務器作爲OAuth服務器的中介,可以避免iFrame解決方案,但需要更多的服務器邏輯。
然後,您可以使用會話cookie,該cookie將與所有HTTP請求(包括您的REST呼叫)重新發送。大多數後端支持會話cookie,因此您只需查找存儲在會話對象中的用戶ID,作爲REST API代碼的一部分。
另一種選擇是在每個需要驗證的REST調用中設置自定義HTTP標頭。爲避免重複代碼,請從Sencha代理類創建派生類以設置包含訪問令牌的標頭。您可以將訪問令牌存儲在Store或Application對象中,或作爲代理的靜態值存儲。我已經爲REST代理調用和Sencha Direct代理調用完成了此操作。
AJAX代理報頭屬性: