<% Dumper($fb_connect) %>
%#<% $auth_url->as_string %>
<% Dumper($session) %>
<%doc>
Manual redirect:
use session::AUTH::FaceBook;
my $site = $state->development ? 'www22.zvuki.ru' : 'www.zvuki.ru';
my $fb_connect = session::AUTH::FaceBook->new(
facebook_redirect_uri => 'http://'.$site.'/oauth/facebook.html',
);
%doc>
<%args>
$code => undef
$state => undef
%args>
<%init>
my $fb_connect = session::AUTH::FaceBook->new();
my $auth_url = $fb_connect->fb_authorize_url( state => $state );
if ( $code ) {
my $local_session = $fb_connect->authenticate( code => $code, state => $state );
if ( ref $local_session && exists $local_session->{id} ) {
my $profile = $keeper->{users}->get_profile( id => $local_session->{id} );
if ( ref $profile ) {
unless ( exists $local_session->{avatar} ) {
my $avatar = $profile->get_image('avatar');
$session->{avatar} = ref $avatar && exists $avatar->{filename} ? $avatar->{mini}{'54x54'}{filename} : undef;
$keeper->{session}->store_value (
name => $profile->name_full,
last_name => $profile->name_family,
first_name => $profile->name_part,
avatar => $session->{avatar},
);
} else {
$keeper->{session}->store_value (
name => $profile->name_full,
last_name => $profile->name_family,
first_name => $profile->name_part,
);
}
}
}
} elsif ( $auth_url ) {
$m->redirect($auth_url->as_string);
} else {
&abort404 unless $DEBUG;
}
%init>