Lemonldap-NG-Manager
view release on metacpan or search on metacpan
site/htdocs/static/js/sessions.js view on Meta::CPAN
return null;
}
}
};
hiddenAttributes = '_password';
// Attributes to group in session display
categories = {
dateTitle: ['_utime', '_startTime', '_updateTime', '_lastAuthnUTime', '_lastSeen'],
connectionTitle: ['ipAddr', '_timezone', '_url'],
authenticationTitle: ['_session_id', '_user', '_password', 'authenticationLevel'],
modulesTitle: ['_auth', '_userDB', '_passwordDB', '_issuerDB', '_authChoice', '_authMulti', '_userDBMulti', '_2f'],
saml: ['_idp', '_idpConfKey', '_samlToken', '_lassoSessionDump', '_lassoIdentityDump'],
groups: ['groups', 'hGroups'],
ldap: ['dn'],
OpenIDConnect: ['_oidc_id_token', '_oidc_OP', '_oidc_access_token', '_oidc_refresh_token', '_oidc_access_token_eol', '_oidcConnectedRP', '_oidcConnectedRPIDs'],
sfaTitle: ['_2fDevices'],
oidcConsents: ['_oidcConsents']
};
// Menu entries
menu = {
session: [{
title: 'deleteSession',
icon: 'trash'
}, {
title: 'globalLogout',
icon: 'trash'
}],
home: []
};
llapp = angular.module('llngSessionsExplorer', ['ui.tree', 'ui.bootstrap', 'llApp']);
// Main controller
llapp.controller('SessionsExplorerCtrl', ['$scope', '$translator', '$location', '$q', '$http', function ($scope, $translator, $location, $q, $http) {
var autoId, c, pathEvent, sessionType;
$scope.links = links;
$scope.menulinks = menulinks;
$scope.staticPrefix = staticPrefix;
$scope.scriptname = scriptname;
$scope.formPrefix = formPrefix;
$scope.impPrefix = impPrefix;
$scope.sessionTTL = sessionTTL;
$scope.availableLanguages = availableLanguages;
$scope.waiting = true;
$scope.showM = false;
$scope.showT = true;
$scope.data = [];
$scope.currentScope = null;
$scope.currentSession = null;
$scope.menu = menu;
// Import translations functions
$scope.translateP = $translator.translateP;
$scope.translate = $translator.translate;
$scope.translateTitle = function (node) {
return $translator.translateField(node, 'title');
};
sessionType = 'global';
// Handle menu items
$scope.menuClick = function (button) {
if (button.popup) {
window.open(button.popup);
} else {
if (!button.action) {
button.action = button.title;
}
switch (typeof button.action) {
case 'function':
button.action($scope.currentNode, $scope);
break;
case 'string':
$scope[button.action]();
break;
default:
console.warn('Unknown action type', typeof button.action);
}
}
return $scope.showM = false;
};
// SESSION MANAGEMENT
// Delete RP Consent
$scope.deleteOIDCConsent = function (rp, epoch) {
var items;
items = document.querySelectorAll(`.data-${epoch}`);
$scope.waiting = true;
$http['delete'](`${scriptname}sessions/OIDCConsent/${sessionType}/${$scope.currentSession.id}?rp=${rp}&epoch=${epoch}`).then(function (response) {
var e, i, len, results;
$scope.waiting = false;
results = [];
for (i = 0, len = items.length; i < len; i++) {
e = items[i];
results.push(e.remove());
}
return results;
}, function (resp) {
return $scope.waiting = false;
});
return $scope.showT = false;
};
// Delete
$scope.deleteSession = function () {
$scope.waiting = true;
return $http['delete'](`${scriptname}sessions/${sessionType}/${$scope.currentSession.id}`).then(function (response) {
$scope.currentSession = null;
$scope.currentScope.remove();
return $scope.waiting = false;
}, function (resp) {
return $scope.waiting = false;
});
};
$scope.globalLogout = function () {
$scope.waiting = true;
return $http['post'](`${scriptname}sessions/glogout/${sessionType}/${$scope.currentSession.id}`).then(function (response) {
$scope.currentSession = null;
$scope.currentScope.remove();
return $scope.waiting = false;
}, function (resp) {
return $scope.waiting = false;
});
};
// Open node
( run in 0.692 second using v1.01-cache-2.11-cpan-364913b4093 )