Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Xavier Bachelot
lemonldap-ng
Commits
f37c2399
Commit
f37c2399
authored
Jan 04, 2020
by
Christophe Maudoux
🐛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update sessionInfo during auth process with 2FA
parent
778ade26
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
11 deletions
+13
-11
lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm
...p-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm
+4
-2
lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
...ap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
+9
-9
No files found.
lemonldap-ng-portal/lib/Lemonldap/NG/Portal/2F/Engines/Default.pm
View file @
f37c2399
...
...
@@ -299,8 +299,10 @@ sub run {
$req
->
sessionInfo
->
{
_2fRealSession
}
=
$req
->
id
;
$req
->
sessionInfo
->
{
_2fUrldc
}
=
$req
->
urldc
;
$req
->
sessionInfo
->
{
_2fUtime
}
=
$req
->
{
sessionInfo
}
->
{
_utime
};
$req
->
sessionInfo
->
{
_impSpoofId
}
=
$spoofId
;
$req
->
sessionInfo
->
{
_impUser
}
=
$req
->
user
;
if
(
$self
->
conf
->
{
impersonationRule
}
)
{
$req
->
sessionInfo
->
{
_impSpoofId
}
=
$spoofId
;
$req
->
sessionInfo
->
{
_impUser
}
=
$req
->
user
;
}
my
$token
=
$self
->
ott
->
createToken
(
$req
->
sessionInfo
);
delete
$req
->
{
authResult
};
...
...
lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
View file @
f37c2399
...
...
@@ -10,7 +10,7 @@ use Lemonldap::NG::Portal::Main::Constants qw(
PE_BADCREDENTIALS
)
;
our
$VERSION
=
'
2.0.
6
';
our
$VERSION
=
'
2.0.
8
';
extends
qw(
Lemonldap::NG::Portal::Main::Plugin
...
...
@@ -101,23 +101,23 @@ sub _verify {
# Launch second factor verification
my
$res
=
$self
->
verify
(
$req
,
$session
);
# Update sessionInfo
delete
$session
->
{
$_
}
foreach
(
qw(tokenSessionStartTimestamp tokenTimeoutTimestamp _type)
);
$req
->
sessionInfo
(
$session
);
$req
->
id
(
delete
$req
->
sessionInfo
->
{
_2fRealSession
}
);
$req
->
urldc
(
delete
$req
->
sessionInfo
->
{
_2fUrldc
}
);
$req
->
{
sessionInfo
}
->
{
_utime
}
=
delete
$req
->
{
sessionInfo
}
->
{
_2fUtime
};
# Case error
if
(
$res
)
{
$req
->
noLoginDisplay
(
1
);
$req
->
sessionInfo
(
$session
);
$req
->
id
(
delete
$req
->
sessionInfo
->
{
_2fRealSession
}
);
$req
->
urldc
(
delete
$req
->
sessionInfo
->
{
_2fUrldc
}
);
$req
->
{
sessionInfo
}
->
{
_utime
}
=
delete
$req
->
{
sessionInfo
}
->
{
_2fUtime
};
$req
->
authResult
(
PE_BADCREDENTIALS
);
return
$self
->
p
->
do
(
$req
,
[
sub
{
$self
->
p
->
storeHistory
(
@
_
)
},
sub
{
$res
}
]
);
}
# Else restore session
$req
->
sessionInfo
(
$session
);
$req
->
id
(
delete
$req
->
sessionInfo
->
{
_2fRealSession
}
);
$req
->
urldc
(
delete
$req
->
sessionInfo
->
{
_2fUrldc
}
);
$req
->
{
sessionInfo
}
->
{
_utime
}
=
delete
$req
->
{
sessionInfo
}
->
{
_2fUtime
};
$req
->
mustRedirect
(
1
);
$self
->
userLogger
->
notice
(
$self
->
prefix
.
'
2F verification for
'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment