Service token in progress (#971)
parent
0b25e306d6
commit
8c4367fd3f
@ -0,0 +1,13 @@ |
||||
# LLNG wrapper class to enable ServiceToken handler with Apache-2/ModPerl-2 |
||||
# |
||||
# See http://lemonldap-ng.org/documentation/latest/handlerarch |
||||
package Lemonldap::NG::Handler::ApacheMP2::ServiceToken; |
||||
|
||||
use strict; |
||||
|
||||
use base 'Lemonldap::NG::Handler::Lib::ServiceToken', |
||||
'Lemonldap::NG::Handler::ApacheMP2::Main'; |
||||
|
||||
our $VERSION = '2.0.0'; |
||||
|
||||
1; |
@ -0,0 +1,25 @@ |
||||
package Lemonldap::NG::Handler::Lib::ServiceToken; |
||||
|
||||
use strict; |
||||
|
||||
our $VERSION = '2.0.0'; |
||||
|
||||
sub fetchId { |
||||
my($class) = @_; |
||||
my $token = $class->header_in('X-Llng-Token'); |
||||
return $class->Lemonldap::NG::Handler::Main::fetchId() unless($token); |
||||
$class->logger->debug('Found token header'); |
||||
my $s $class->tsv->{cipher}->decrypt($s); |
||||
my($t,$_session_id,@vhosts) = split /:/, $s; |
||||
unless(@vhosts) { |
||||
$class->userLogger->error('Bad token'); |
||||
return 0; |
||||
} |
||||
unless($t <= time and $t > time -15) { |
||||
$class->userLogger->warn('Expired token'); |
||||
return 0; |
||||
} |
||||
return $_session_id; |
||||
} |
||||
|
||||
1; |
@ -0,0 +1,13 @@ |
||||
# LLNG wrapper class to enable ServiceToken handler with FastCGI handler |
||||
# |
||||
# See http://lemonldap-ng.org/documentation/latest/handlerarch |
||||
package Lemonldap::NG::Handler::PSGI::ServiceToken; |
||||
|
||||
use strict; |
||||
|
||||
use base 'Lemonldap::NG::Handler::Lib::ServiceToken', |
||||
'Lemonldap::NG::Handler::PSGI::Main'; |
||||
|
||||
our $VERSION = '2.0.0'; |
||||
|
||||
1; |
@ -0,0 +1,13 @@ |
||||
# LLNG wrapper class to enable ServiceToken handler with FastCGI handler |
||||
# |
||||
# See http://lemonldap-ng.org/documentation/latest/handlerarch |
||||
package Lemonldap::NG::Handler::Server::ServiceToken; |
||||
|
||||
use strict; |
||||
|
||||
use base 'Lemonldap::NG::Handler::Lib::ServiceToken', |
||||
'Lemonldap::NG::Handler::Server::Main'; |
||||
|
||||
our $VERSION = '2.0.0'; |
||||
|
||||
1; |
Loading…
Reference in new issue