mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-30 01:26:38 +00:00
allow multiple valid access tokens to exist at the same time for a user
This commit is contained in:
parent
3bd62937f6
commit
89d039690d
@ -309,21 +309,15 @@ sub gettoken {
|
||||
return undef;
|
||||
}
|
||||
my $tokens = $tokentb->getAllEntries;
|
||||
my $expiretime = time() + $tokentimeout;
|
||||
foreach my $token (@{$tokens}) {
|
||||
if ($token->{username} eq $user) {
|
||||
#delete old token
|
||||
$tokentb->delEntries({'tokenid'=>$token->{tokenid}});
|
||||
} else {
|
||||
#clean the expired token
|
||||
if ($token->{expire} > $expiretime) {
|
||||
if ($token->{'expire'} < time()) {
|
||||
$tokentb->delEntries({'tokenid'=>$token->{tokenid}});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# create a new token for this request
|
||||
my $uuid = xCAT::Utils->genUUID();
|
||||
my $expiretime = time() + $tokentimeout;
|
||||
$tokentb->setAttribs({tokenid=>$uuid, username => $user}, {expire => $expiretime});
|
||||
$tokentb->close();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user