(js) Reload page when session has expired
parent
4172c216f5
commit
dc385a82ff
|
@ -121,13 +121,15 @@
|
|||
'gt-lg': '(min-width: 1280px)'
|
||||
})
|
||||
|
||||
.config(configure);
|
||||
.config(configure)
|
||||
|
||||
.factory('AuthInterceptor', AuthInterceptor);
|
||||
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
configure.$inject = ['$logProvider', '$compileProvider', '$mdThemingProvider'];
|
||||
function configure($logProvider, $compileProvider, $mdThemingProvider) {
|
||||
configure.$inject = ['$logProvider', '$compileProvider', '$mdThemingProvider', '$httpProvider'];
|
||||
function configure($logProvider, $compileProvider, $mdThemingProvider, $httpProvider) {
|
||||
$mdThemingProvider.definePalette('sogo-green', {
|
||||
'50': 'eaf5e9',
|
||||
'100': 'cbe5c8',
|
||||
|
@ -211,6 +213,23 @@
|
|||
$logProvider.debugEnabled(false);
|
||||
$compileProvider.debugInfoEnabled(false);
|
||||
}
|
||||
|
||||
$httpProvider.interceptors.push('AuthInterceptor');
|
||||
}
|
||||
|
||||
AuthInterceptor.$inject = ['$window', '$q'];
|
||||
function AuthInterceptor($window, $q) {
|
||||
return {
|
||||
response: function(response) {
|
||||
// When expecting JSON but receiving HTML, assume session has expired and reload page
|
||||
if (/^application\/json/.test(response.config.headers.Accept) &&
|
||||
/^<!DOCTYPE html>/.test(response.data)) {
|
||||
$window.location.reload(true);
|
||||
return $q.reject();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
})();
|
||||
|
|
|
@ -23,7 +23,10 @@
|
|||
function login() {
|
||||
Authentication.login(vm.creds)
|
||||
.then(function(url) {
|
||||
window.location.href = url;
|
||||
if (window.location.href === url)
|
||||
window.location.reload(true);
|
||||
else
|
||||
window.location.href = url;
|
||||
}, function(msg) {
|
||||
Dialog.alert(l('Authentication Failed'), msg.error);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue