mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 01:53:45 +01:00
Detect when the user access token is no more valid and log the user out in this case
This commit is contained in:
parent
613e468b89
commit
7143f358f1
2 changed files with 20 additions and 4 deletions
|
@ -55,8 +55,14 @@ angular.module('MatrixWebClientController', ['matrixService'])
|
|||
|
||||
// And go to the login page
|
||||
$location.path("login");
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
// Listen to the event indicating that the access token is no more valid.
|
||||
// In this case, the user needs to log in again.
|
||||
$scope.$on("M_UNKNOWN_TOKEN", function() {
|
||||
console.log("Invalid access token -> log user out");
|
||||
$scope.logout();
|
||||
});
|
||||
}]);
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ limitations under the License.
|
|||
'use strict';
|
||||
|
||||
angular.module('matrixService', [])
|
||||
.factory('matrixService', ['$http', '$q', function($http, $q) {
|
||||
.factory('matrixService', ['$http', '$q', '$rootScope', function($http, $q, $rootScope) {
|
||||
|
||||
/*
|
||||
* Permanent storage of user information
|
||||
|
@ -60,7 +60,6 @@ angular.module('matrixService', [])
|
|||
headers: headers
|
||||
})
|
||||
.success(function(data, status, headers, config) {
|
||||
// @TODO: We could detect a bad access token here and make an automatic logout
|
||||
deferred.resolve(data, status, headers, config);
|
||||
})
|
||||
.error(function(data, status, headers, config) {
|
||||
|
@ -70,6 +69,11 @@ angular.module('matrixService', [])
|
|||
reason = JSON.stringify(data);
|
||||
}
|
||||
deferred.reject(reason, data, status, headers, config);
|
||||
|
||||
if (403 === status && "M_UNKNOWN_TOKEN" === data.errcode) {
|
||||
// The access token is no more valid, broadcast the issue
|
||||
$rootScope.$broadcast("M_UNKNOWN_TOKEN");
|
||||
}
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
|
@ -301,6 +305,12 @@ angular.module('matrixService', [])
|
|||
return doBaseRequest(config.identityServer, "POST", path, {}, data, headers);
|
||||
},
|
||||
|
||||
|
||||
//
|
||||
testLogin: function() {
|
||||
|
||||
},
|
||||
|
||||
/****** Permanent storage of user information ******/
|
||||
|
||||
// Returns the current config
|
||||
|
|
Loading…
Reference in a new issue