2015-08-19 57 views
5

我知道我可以使用localstorage或SQLite,但我不知道如何確切地做到這一點。Ionic - 如何將會話令牌存儲爲全局(對於應用程序)可訪問的變量?

在我的應用程序中,我在登錄控制器中獲取會話令牌,並向服務器發送請求並返回會話令牌。

我不知道如何使這個令牌全局可訪問。

P.S:我對AngularJs很陌生。

+0

對於本地存儲示例請參閱此博客[鏈接](https://blog.nraboy.com/2014/06/saving-data-with-ionicframework/) –

回答

19
在您的控制器

,一旦你從服務器

$scope.token = token; 

獲得令牌可以說

localStorage.setItem("token", $scope.token); 

那麼當你希望獲取(在另一個控制器說)令牌所有你需要說是

$scope.token = localStorage.getItem("token"); 

此外,如果他們重新打開應用程序,你甚至可以檢查,看他們是否已經在奧肯

if(localStorage.getItem("token") !== null && localStorage.getItem("token") !== ""){//go ahead and authenticate them without getting a new token.} 

另外要注意,在註銷如果要清除該令牌,你可以只設置

localStorage.setItem("token", ""); 

但要注意,你只能設置本地存儲爲字符串,而不是布爾值或空。

+0

如果令牌過期怎麼辦? – ca9163d9

+0

然後檢查令牌是否過期(點擊一個api端點),如果是的話刪除它或覆蓋它。 –

相關問題