2016-05-24 18:53:43 +02:00
|
|
|
package Lemonldap::NG::Portal::UserDB::Facebook;
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use Mouse;
|
|
|
|
use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_MISSINGREQATTR);
|
|
|
|
|
2016-06-02 23:20:36 +02:00
|
|
|
extends 'Lemonldap::NG::Common::Module';
|
2016-05-24 18:53:43 +02:00
|
|
|
|
2021-04-01 23:07:58 +02:00
|
|
|
our $VERSION = '2.0.12';
|
2016-05-24 18:53:43 +02:00
|
|
|
|
|
|
|
has vars => (
|
|
|
|
is => 'rw',
|
2017-03-27 18:51:18 +02:00
|
|
|
lazy => 1,
|
2016-05-24 18:53:43 +02:00
|
|
|
builder => sub {
|
|
|
|
return {
|
|
|
|
%{ $_[0]->conf->{exportedVars} },
|
|
|
|
%{ $_[0]->conf->{facebookExportedVars} }
|
|
|
|
};
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
2016-06-09 20:40:20 +02:00
|
|
|
# INITIALIZATION
|
|
|
|
|
2016-05-24 18:53:43 +02:00
|
|
|
sub init {
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2016-06-09 20:40:20 +02:00
|
|
|
# RUNNING METHODS
|
|
|
|
|
2016-05-24 18:53:43 +02:00
|
|
|
sub getUser {
|
|
|
|
|
|
|
|
# All is done by Auth::Facebook
|
2021-04-01 23:07:58 +02:00
|
|
|
return PE_OK;
|
2016-05-24 18:53:43 +02:00
|
|
|
}
|
|
|
|
|
2020-12-22 15:17:23 +01:00
|
|
|
sub findUser {
|
|
|
|
|
|
|
|
# Nothing to do here
|
2021-04-01 23:07:58 +02:00
|
|
|
return PE_OK;
|
2020-12-22 15:17:23 +01:00
|
|
|
}
|
|
|
|
|
2016-05-24 18:53:43 +02:00
|
|
|
sub setSessionInfo {
|
|
|
|
my ( $self, $req ) = @_;
|
|
|
|
|
|
|
|
foreach my $k ( keys %{ $self->vars } ) {
|
|
|
|
my $v = $self->{vars}->{$k};
|
|
|
|
my $attr = $k;
|
|
|
|
my $required = ( $attr =~ s/^!// ) ? 1 : 0;
|
2018-07-05 22:56:16 +02:00
|
|
|
$req->{sessionInfo}->{$attr} = $req->data->{_facebookData}->{$v};
|
2017-03-03 13:17:15 +01:00
|
|
|
if ( $required and not( defined $req->{sessionInfo}->{$attr} ) ) {
|
2017-02-15 07:41:50 +01:00
|
|
|
$self->logger->warn(
|
|
|
|
"Required parameter $v is not provided by Facebook server, aborted"
|
2016-05-24 18:53:43 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
$req->mustRedirect(0);
|
|
|
|
return PE_MISSINGREQATTR;
|
|
|
|
}
|
|
|
|
}
|
2021-04-01 23:07:58 +02:00
|
|
|
|
|
|
|
return PE_OK;
|
2016-05-24 18:53:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
sub setGroups {
|
2021-04-01 23:07:58 +02:00
|
|
|
return PE_OK;
|
2016-05-24 18:53:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|