diff --git a/webclient/app-controller.js b/webclient/app-controller.js
index ff4cb6e69e..96656e12c3 100644
--- a/webclient/app-controller.js
+++ b/webclient/app-controller.js
@@ -52,7 +52,7 @@ angular.module('MatrixWebClientController', ['matrixService'])
}
};
- if (matrixService.config()) {
+ if (matrixService.isUserLoggedIn()) {
eventStreamService.resume();
}
diff --git a/webclient/app.js b/webclient/app.js
index c4794e6abc..8d64db92d3 100644
--- a/webclient/app.js
+++ b/webclient/app.js
@@ -63,9 +63,8 @@ matrixWebClient.config(['$routeProvider', '$provide', '$httpProvider',
}]);
matrixWebClient.run(['$location', 'matrixService', 'eventStreamService', function($location, matrixService, eventStreamService) {
- // If we have no persistent login information, go to the login page
- var config = matrixService.config();
- if (!config || !config.access_token) {
+ // If user auth details are not in cache, go to the login page
+ if (!matrixService.isUserLoggedIn()) {
eventStreamService.stop();
$location.path("login");
}
diff --git a/webclient/components/matrix/matrix-service.js b/webclient/components/matrix/matrix-service.js
index 0cc85db28e..c52c94c310 100644
--- a/webclient/components/matrix/matrix-service.js
+++ b/webclient/components/matrix/matrix-service.js
@@ -318,12 +318,21 @@ angular.module('matrixService', [])
};
return doRequest("GET", path, params);
},
-
- //
- testLogin: function() {
-
+
+ // Indicates if user authentications details are stored in cache
+ isUserLoggedIn: function() {
+ var config = this.config();
+
+ // User is considered logged in if his cache is not empty and contains
+ // an access token
+ if (config && config.access_token) {
+ return true;
+ }
+ else {
+ return false;
+ }
},
-
+
/****** Permanent storage of user information ******/
// Returns the current config
|