Lines 211-224
elsif ( defined $query->param('code') ) {
Link Here
|
211 |
my ( $userid, $cookie, $session_id ) = |
211 |
my ( $userid, $cookie, $session_id ) = |
212 |
checkauth( $query, 1, {}, 'opac', $email ); |
212 |
checkauth( $query, 1, {}, 'opac', $email ); |
213 |
if ($userid) { # A user with this email is registered in koha |
213 |
if ($userid) { # A user with this email is registered in koha |
214 |
|
|
|
215 |
#handle redirect to main.pl, for private opac |
214 |
#handle redirect to main.pl, for private opac |
216 |
my $uri; |
215 |
my $uri; |
217 |
if (C4::Context->preference('OpacPublic') ) { |
216 |
my $referer = $session->param( 'auth-refer-uri' ); |
|
|
217 |
if ( $referer =~ /^$host/ ) { |
218 |
my $regex = qr/logout\.x=1/mp; |
219 |
$uri = $referer =~ s/$regex//rg; |
220 |
} else { |
221 |
if (C4::Context->preference('OpacPublic') ) { |
218 |
$uri = '/cgi-bin/koha/opac-user.pl'; |
222 |
$uri = '/cgi-bin/koha/opac-user.pl'; |
219 |
} else { |
223 |
} else { |
220 |
$uri = '/cgi-bin/koha/opac-main.pl'; |
224 |
$uri = '/cgi-bin/koha/opac-main.pl'; |
221 |
} |
225 |
} |
|
|
226 |
} |
222 |
print $query->redirect( |
227 |
print $query->redirect( |
223 |
-uri => $uri, |
228 |
-uri => $uri, |
224 |
-cookie => $cookie |
229 |
-cookie => $cookie |
Lines 244-249
else {
Link Here
|
244 |
my $openidstate = 'auth_'; |
249 |
my $openidstate = 'auth_'; |
245 |
$openidstate .= sprintf( "%x", rand 16 ) for 1 .. 32; |
250 |
$openidstate .= sprintf( "%x", rand 16 ) for 1 .. 32; |
246 |
$session->param( 'google-openid-state', $openidstate ); |
251 |
$session->param( 'google-openid-state', $openidstate ); |
|
|
252 |
$session->param( 'auth-refer-uri', $ENV{HTTP_REFERER} ); |
247 |
$session->flush(); |
253 |
$session->flush(); |
248 |
|
254 |
|
249 |
my $prompt = $query->param('reauthenticate') // q{}; |
255 |
my $prompt = $query->param('reauthenticate') // q{}; |
250 |
- |
|
|