From b23995cf330caff4d56e369ee98c471542d0016b Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Thu, 21 Feb 2013 11:34:41 +1300 Subject: [PATCH] [SIGNED-OFF] Bug 9587 : Handling mismatched emails better To test: Sign in to Koha via persona using an email that doesn't exist in Koha Before the patch you will get into an infinite redirect loop After the patch it will give you an error message Signed-off-by: Bernardo Gonzalez Kriegel Comment: Work as described. No errors. --- .../opac-tmpl/prog/en/includes/opac-bottom.inc | 5 ++++- opac/svc/login | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/prog/en/includes/opac-bottom.inc index b875028..78c8bd3 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/opac-bottom.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/opac-bottom.inc @@ -72,7 +72,10 @@ navigator.id.watch({ function (data) { window.location = '/cgi-bin/koha/opac-user.pl'; } - ); + ) + .fail(function() { var errstr = _("Could not login, perhaps your Persona email does not match your Koha one"); + alert(errstr); + }); }, onlogout: function () { window.location = '/cgi-bin/koha/opac-main.pl?logout.x=1'; diff --git a/opac/svc/login b/opac/svc/login index 607b566..ed41e08 100755 --- a/opac/svc/login +++ b/opac/svc/login @@ -44,8 +44,14 @@ if ( $response->is_success ) { my $decoded_json = decode_json($content); my ( $userid, $cookie, $sessionID ) = checkauth( $query, 1, { borrow => 1 }, 'opac', $decoded_json->{'email'} ); - print $query->header( -cookie => $cookie ); - print $decoded_json; + if ($userid) { # a valid user has logged in + print $query->header( -cookie => $cookie ); + print $decoded_json; + } + else { +# logged in with an email that isn't associated with a borrower + die "Email not associated with a borrower"; + } } else { warn $response->status_line, "\n"; -- 1.7.9.5