From fc02f2c2dd577a04586a345de8145c37c8aac98e Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sat, 16 Mar 2019 18:47:59 +0000 Subject: [PATCH] make login and logout similar --- lib/App/Netdisco/Web/AuthN.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/App/Netdisco/Web/AuthN.pm b/lib/App/Netdisco/Web/AuthN.pm index e282d845..7f2d0918 100644 --- a/lib/App/Netdisco/Web/AuthN.pm +++ b/lib/App/Netdisco/Web/AuthN.pm @@ -146,12 +146,11 @@ post '/login' => sub { status('unauthorized'); return to_json { error => 'authentication failed' }; } - else { - vars->{login_failed}++; - forward uri_for('/login'), - { login_failed => 1, return_url => param('return_url') }, - { method => 'GET' }; - } + + vars->{login_failed}++; + forward uri_for('/login'), + { login_failed => 1, return_url => param('return_url') }, + { method => 'GET' }; } }; @@ -168,6 +167,8 @@ swagger_path { responses => { default => { examples => { 'application/json' => {} } } }, }, get '/logout' => sub { + my $mode = (request_is_api() ? 'API' : 'WebUI'); + # clear out API token my $user = schema('netdisco')->resultset('User') ->find({ username => session('logged_in_user')}); @@ -180,16 +181,15 @@ get '/logout' => sub { schema('netdisco')->resultset('UserLog')->create({ username => session('logged_in_user'), userip => request->remote_address, - event => "Logout", + event => "Logout ($mode)", details => '', }); - if (request_is_api()) { - return to_json {}; - } - else { - redirect uri_for('/inventory')->path; + if ($mode eq 'API') { + return to_json {}; } + + redirect uri_for('/inventory')->path; }; true;