Don't clear BackURL after MemberAuthenticator::authenticate()

It breaks logic flow, e.g. when

Its called by BasicAuth:requireLogin() when basic auth is enabled,
before any controller logic kicks in (on every HTTP request).
This means you can't use session-based BackURLs with basic auth enabled,
breaking flows like redirection after Facebook logins.

I can't see why a clear() was necessary here, looks like a overly
cautious way to prevent infinite loops? Can't see how those
would be caused by requireLogin() though.

Been there since all the way back in 2007: a377a67e54
This commit is contained in:
Ingo Schommer 2014-05-02 16:51:23 +12:00
parent f3974f0e63
commit e56ad9b37c

View File

@ -115,10 +115,8 @@ class MemberAuthenticator extends Authenticator {
$member->write();
}
if($member) {
Session::clear('BackURL');
} else {
if($form && $result) $form->sessionMessage($result->message(), 'bad');
if(!$member && $form && $result) {
$form->sessionMessage($result->message(), 'bad');
}
return $member;