Append U2F manager module to manage users U2F Key (WIP - Delete only !!!)

This commit is contained in:
Christophe Maudoux 2018-03-01 11:30:21 +01:00
parent 9dfce47dfb
commit dd10b2472e
7 changed files with 16 additions and 22 deletions

View File

@ -67,8 +67,8 @@ sub delU2FKey {
or return $self->sendError( $req, undef, 400 );
# Delete U2F key attributs and update session
$session->data->{_u2fKeyHandle} = 'TOF';
$session->data->{_u2fUserKey} = 'TOF';
$session->data->{_u2fKeyHandle} = '';
$session->data->{_u2fUserKey} = '';
$session->update( \%{$session->data} );
Lemonldap::NG::Handler::PSGI::Main->localUnlog( $req, $id );

View File

@ -89,6 +89,7 @@ sub init {
$self->defaultRoute( $working[0]->defaultRoute );
# Find out more glyphicones at https://www.w3schools.com/icons/bootstrap_icons_glyphicons.asp
my $linksIcons =
{ 'conf' => 'cog', 'sessions' => 'duplicate', 'notifications' => 'bell', 'U2F' => 'wrench' };

View File

@ -27,11 +27,14 @@ use constant defaultRoute => 'u2f.html#/persistent';
sub addRoutes {
my ( $self, $conf ) = @_;
# Remote Procedure Call are defined in Lemonldap::NG::Common::Session::REST
# HTML template
$self->addRoute( 'u2f.html', undef, ['GET'] )
# READ
->addRoute( u2f => { ':sessionType' => 'sessions' }, ['GET'] )
->addRoute( u2f => { ':sessionType' => 'sessions' },
['GET'] )
# DELETE U2F KEY ATTRIBUTS
->addRoute(

View File

@ -138,18 +138,19 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location',
# SESSION MANAGEMENT
# Delete
# Delete U2F key attributs
$scope.deleteU2FKey = ->
$scope.waiting = true
$http['delete']("#{scriptname}u2f/#{sessionType}/#{$scope.currentSession.id}").then (response) ->
$scope.currentSession = null
$scope.currentScope.remove()
#$scope.currentScope.remove()
$scope.waiting = false
, (resp) ->
$scope.currentSession = null
$scope.currentScope.remove()
#$scope.currentScope.remove()
$scope.waiting = false
$scope.showT = true
# Open node
$scope.stoggle = (scope) ->
node = scope.$modelValue
@ -198,7 +199,7 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location',
session[key] = _stToStr value
res = []
# 2. Push session keys in reuslt, grouped by categories
# 2. Push session keys in result, grouped by categories
for category, attrs of categories
subres = []
for attr in attrs

View File

@ -164,15 +164,14 @@
};
$scope.deleteU2FKey = function() {
$scope.waiting = true;
return $http['delete'](scriptname + "u2f/" + sessionType + "/" + $scope.currentSession.id).then(function(response) {
$http['delete'](scriptname + "u2f/" + sessionType + "/" + $scope.currentSession.id).then(function(response) {
$scope.currentSession = null;
$scope.currentScope.remove();
return $scope.waiting = false;
}, function(resp) {
$scope.currentSession = null;
$scope.currentScope.remove();
return $scope.waiting = false;
});
return $scope.showT = true;
};
$scope.stoggle = function(scope) {
var node;

File diff suppressed because one or more lines are too long

View File

@ -15,16 +15,6 @@
<div class="navbar navbar-default">
<div class="navbar-collapse">
<ul class="nav navbar-nav" role="grid">
<li uib-dropdown>
<a id="navsso" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-user"></i> {{translate('ssoSessions')}} <span class="caret"></span></a>
<ul uib-dropdown-menu aria-labelled-by="navsso">
<li><a id="a-users" href="#" role="row"><i class="glyphicon glyphicon-user"></i> {{translate('users')}}</a></li>
<li><a id="a-ip" href="#/ipAddr" role="row"><i class="glyphicon glyphicon-sort-by-order"></i> {{translate('ipAddresses')}}</a></li>
<li><a id="a-multi" href="#/doubleIp" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('multiIp')}}</a></li>
<li><a id="a-starttime" href="#/_startTime" role="row"><i class="glyphicon glyphicon-hourglass"></i> {{translate('_startTime')}}</a></li>
<li><a id="a-updatetime" href="#/_updateTime" role="row"><i class="glyphicon glyphicon-hourglass"></i> {{translate('_updateTime')}}</a></li>
</ul>
</li>
<li><a id="a-persistent" href="#/persistent" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('persistentSessions')}}</a></li>
</ul>
</div>