mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 14:57:39 -02:30
excise token-based auth from ui
This commit is contained in:
@@ -374,7 +374,7 @@ angular
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!Authorization.getToken() || !Authorization.isUserLoggedIn()) {
|
if (!Authorization.isUserLoggedIn()) {
|
||||||
// User not authenticated, redirect to login page
|
// User not authenticated, redirect to login page
|
||||||
if (!/^\/(login|logout)/.test($location.path())) {
|
if (!/^\/(login|logout)/.test($location.path())) {
|
||||||
$rootScope.preAuthUrl = $location.path();
|
$rootScope.preAuthUrl = $location.path();
|
||||||
|
|||||||
@@ -22,20 +22,20 @@ export default
|
|||||||
return {
|
return {
|
||||||
setToken: function (token, expires) {
|
setToken: function (token, expires) {
|
||||||
// set the session cookie
|
// set the session cookie
|
||||||
$cookies.remove('token');
|
// $cookies.remove('token');
|
||||||
$cookies.remove('token_expires');
|
$cookies.remove('token_expires');
|
||||||
$cookies.remove('userLoggedIn');
|
$cookies.remove('userLoggedIn');
|
||||||
|
|
||||||
if (token && !(/^"[a-f0-9]+"$/ig.test(token))) {
|
// if (token && !(/^"[a-f0-9]+"$/ig.test(token))) {
|
||||||
$cookies.put('token', `"${token}"`);
|
// $cookies.put('token', `"${token}"`);
|
||||||
} else {
|
// } else {
|
||||||
$cookies.put('token', token);
|
// $cookies.put('token', token);
|
||||||
}
|
// }
|
||||||
|
|
||||||
$cookies.put('token_expires', expires);
|
$cookies.put('token_expires', expires);
|
||||||
$cookies.put('userLoggedIn', true);
|
$cookies.put('userLoggedIn', true);
|
||||||
$cookies.put('sessionExpired', false);
|
$cookies.put('sessionExpired', false);
|
||||||
$rootScope.token = token;
|
// $rootScope.token = token;
|
||||||
$rootScope.userLoggedIn = true;
|
$rootScope.userLoggedIn = true;
|
||||||
$rootScope.token_expires = expires;
|
$rootScope.token_expires = expires;
|
||||||
$rootScope.sessionExpired = false;
|
$rootScope.sessionExpired = false;
|
||||||
@@ -49,17 +49,6 @@ export default
|
|||||||
}
|
}
|
||||||
return $rootScope.userLoggedIn;
|
return $rootScope.userLoggedIn;
|
||||||
},
|
},
|
||||||
|
|
||||||
getToken: function () {
|
|
||||||
if ($rootScope.token) {
|
|
||||||
return $rootScope.token;
|
|
||||||
}
|
|
||||||
|
|
||||||
let token = $cookies.get('token');
|
|
||||||
|
|
||||||
return token ? token.replace(/"/g, '') : undefined;
|
|
||||||
},
|
|
||||||
|
|
||||||
retrieveToken: function (username, password) {
|
retrieveToken: function (username, password) {
|
||||||
return $http({
|
return $http({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@@ -77,10 +66,7 @@ export default
|
|||||||
deleteToken: function () {
|
deleteToken: function () {
|
||||||
return $http({
|
return $http({
|
||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
url: GetBasePath('authtoken'),
|
url: GetBasePath('authtoken')
|
||||||
headers: {
|
|
||||||
'Authorization': 'Token ' + this.getToken()
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -125,7 +111,7 @@ export default
|
|||||||
SocketService.disconnect();
|
SocketService.disconnect();
|
||||||
$cookies.remove('token_expires');
|
$cookies.remove('token_expires');
|
||||||
$cookies.remove('current_user');
|
$cookies.remove('current_user');
|
||||||
$cookies.remove('token');
|
// $cookies.remove('token');
|
||||||
$cookies.put('userLoggedIn', false);
|
$cookies.put('userLoggedIn', false);
|
||||||
$cookies.put('sessionExpired', false);
|
$cookies.put('sessionExpired', false);
|
||||||
$cookies.putObject('current_user', {});
|
$cookies.putObject('current_user', {});
|
||||||
@@ -134,7 +120,7 @@ export default
|
|||||||
$rootScope.userLoggedIn = false;
|
$rootScope.userLoggedIn = false;
|
||||||
$rootScope.sessionExpired = false;
|
$rootScope.sessionExpired = false;
|
||||||
$rootScope.licenseMissing = true;
|
$rootScope.licenseMissing = true;
|
||||||
$rootScope.token = null;
|
// $rootScope.token = null;
|
||||||
$rootScope.token_expires = null;
|
$rootScope.token_expires = null;
|
||||||
$rootScope.login_username = null;
|
$rootScope.login_username = null;
|
||||||
$rootScope.login_password = null;
|
$rootScope.login_password = null;
|
||||||
@@ -168,11 +154,7 @@ export default
|
|||||||
getUser: function () {
|
getUser: function () {
|
||||||
return $http({
|
return $http({
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
url: GetBasePath('me'),
|
url: GetBasePath('me')
|
||||||
headers: {
|
|
||||||
'Authorization': 'Token ' + this.getToken(),
|
|
||||||
"X-Auth-Token": 'Token ' + this.getToken()
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ export default ['$log', '$cookies', '$compile', '$rootScope',
|
|||||||
Authorization.retrieveToken(username, password)
|
Authorization.retrieveToken(username, password)
|
||||||
.then(function (data) {
|
.then(function (data) {
|
||||||
$('#login-modal').modal('hide');
|
$('#login-modal').modal('hide');
|
||||||
Authorization.setToken(data.data.token, data.data.expires);
|
Authorization.setToken(data.data.expires);
|
||||||
scope.$emit('AuthorizationGetUser');
|
scope.$emit('AuthorizationGetUser');
|
||||||
},
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
|
|||||||
@@ -55,8 +55,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export default
|
export default
|
||||||
['$http', '$rootScope', '$q', 'Authorization',
|
['$http', '$rootScope', '$q',
|
||||||
function ($http, $rootScope, $q, Authorization) {
|
function ($http, $rootScope, $q) {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
headers: {},
|
headers: {},
|
||||||
@@ -113,150 +113,88 @@ export default
|
|||||||
args = (args) ? args : {};
|
args = (args) ? args : {};
|
||||||
this.params = (args.params) ? args.params : null;
|
this.params = (args.params) ? args.params : null;
|
||||||
this.pReplace();
|
this.pReplace();
|
||||||
var expired = this.checkExpired(),
|
var expired = this.checkExpired();
|
||||||
token = Authorization.getToken();
|
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
return $http({
|
return $http({
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
params: this.params
|
params: this.params
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
post: function (data) {
|
post: function (data) {
|
||||||
var token = Authorization.getToken(),
|
var expired = this.checkExpired();
|
||||||
expired = this.checkExpired();
|
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
return $http({
|
return $http({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
put: function (data) {
|
put: function (data) {
|
||||||
var token = Authorization.getToken(),
|
var expired = this.checkExpired();
|
||||||
expired = this.checkExpired();
|
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
return $http({
|
return $http({
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
patch: function (data) {
|
patch: function (data) {
|
||||||
var token = Authorization.getToken(),
|
var expired = this.checkExpired();
|
||||||
expired = this.checkExpired();
|
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
return $http({
|
return $http({
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
destroy: function (data) {
|
destroy: function (data) {
|
||||||
var token = Authorization.getToken(),
|
var expired = this.checkExpired();
|
||||||
expired = this.checkExpired();
|
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
return $http({
|
return $http({
|
||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
options: function (cache) {
|
options: function (cache) {
|
||||||
var params,
|
var params,
|
||||||
token = Authorization.getToken(),
|
|
||||||
expired = this.checkExpired();
|
expired = this.checkExpired();
|
||||||
if (expired) {
|
if (expired) {
|
||||||
return this.createResponse({
|
return this.createResponse({
|
||||||
detail: 'Token is expired'
|
detail: 'Session is expired'
|
||||||
}, 401);
|
}, 401);
|
||||||
} else if (token) {
|
} else {
|
||||||
this.setHeader({
|
|
||||||
Authorization: 'Token ' + token
|
|
||||||
});
|
|
||||||
this.setHeader({
|
|
||||||
"X-Auth-Token": 'Token ' + token
|
|
||||||
});
|
|
||||||
params = {
|
params = {
|
||||||
method: 'OPTIONS',
|
method: 'OPTIONS',
|
||||||
url: this.url,
|
url: this.url,
|
||||||
@@ -265,10 +203,6 @@ export default
|
|||||||
cache: (cache ? true : false)
|
cache: (cache ? true : false)
|
||||||
};
|
};
|
||||||
return $http(params);
|
return $http(params);
|
||||||
} else {
|
|
||||||
return this.createResponse({
|
|
||||||
detail: 'Invalid token'
|
|
||||||
}, 401);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ angular.module('Utilities', ['RestServices', 'Utilities'])
|
|||||||
Alert('Conflict', data.conflict || "Resource currently in use.");
|
Alert('Conflict', data.conflict || "Resource currently in use.");
|
||||||
} else if (status === 410) {
|
} else if (status === 410) {
|
||||||
Alert('Deleted Object', 'The requested object was previously deleted and can no longer be accessed.');
|
Alert('Deleted Object', 'The requested object was previously deleted and can no longer be accessed.');
|
||||||
} else if ((status === 'Token is expired') || (status === 401 && data.detail && data.detail === 'Token is expired') ||
|
} else if ((status === 'Session is expired') || (status === 401 && data.detail && data.detail === 'Token is expired') ||
|
||||||
(status === 401 && data && data.detail && data.detail === 'Invalid token')) {
|
(status === 401 && data && data.detail && data.detail === 'Invalid token')) {
|
||||||
if ($rootScope.sessionTimer) {
|
if ($rootScope.sessionTimer) {
|
||||||
$rootScope.sessionTimer.expireSession('idle');
|
$rootScope.sessionTimer.expireSession('idle');
|
||||||
|
|||||||
Reference in New Issue
Block a user