Skip to content

Commit c260152

Browse files
committed
Redirect improvements for social logins
- FIX: Duplicate invalid login messages in userlogin::login() - NEW: e_user_provider: Return URL passthrough to go back where intended - MOD: Cleanup of some confusing APIs in e_user_provider - MOD: Return URL passthrough in system/xup/* - MOD: system/xup/test: Logout test renamed into something clearer
1 parent dc66b50 commit c260152

File tree

4 files changed

+123
-89
lines changed

4 files changed

+123
-89
lines changed

e107_core/controllers/system/xup.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public function __construct(eRequest $request, eResponse $response = null)
3535
public function init()
3636
{
3737
//$back = 'system/xup/test';
38-
$this->backUrl = vartrue($_GET['back']) ? base64_decode($_GET['back']) : true;
38+
$this->backUrl = isset($_GET['back']) ? $_GET['back'] : null;
3939
}
4040

4141
public function actionSignup()
@@ -99,7 +99,7 @@ public function actionTest()
9999
return;
100100
}
101101

102-
if(isset($_GET['lgt']))
102+
if(isset($_GET['logout']))
103103
{
104104
e107::getUser()->logout();
105105
}
@@ -130,17 +130,26 @@ public function actionTest()
130130
{
131131
if($var['enabled'] == 1)
132132
{
133+
$testLoginUrl = e107::getUrl()->create('system/xup/login', [
134+
'provider' => $key,
135+
'back' => $testUrl,
136+
]);
137+
$testSignupUrl = e107::getUrl()->create('system/xup/signup', [
138+
'provider' => $key,
139+
'back' => $testUrl,
140+
]);
141+
133142
echo '<h3>'.$key.'</h3><ul>';
134-
echo '<li><a class="btn btn-default btn-secondary" href="'.e107::getUrl()->create('system/xup/login?provider='.$key.'&back='.base64_encode($testUrl)).'">'.e107::getParser()->lanVars(LAN_XUP_ERRM_09, array('x'=>$key)).'</a></li>';
135-
echo '<li><a class="btn btn-default btn-secondary" href="'.e107::getUrl()->create('system/xup/signup?provider='.$key.'&back='.base64_encode($testUrl)).'">'.e107::getParser()->lanVars(LAN_XUP_ERRM_10, array('x'=>$key)).'</a></li>';
143+
echo '<li><a class="btn btn-default btn-secondary" href="'.$testLoginUrl.'">'.e107::getParser()->lanVars(LAN_XUP_ERRM_09, array('x'=>$key)).'</a></li>';
144+
echo '<li><a class="btn btn-default btn-secondary" href="'.$testSignupUrl.'">'.e107::getParser()->lanVars(LAN_XUP_ERRM_10, array('x'=>$key)).'</a></li>';
136145

137146
echo "</ul>";
138147
}
139148

140149
// print_a($var);
141150
}
142151

143-
echo '<br /><br /><a class="btn btn-default btn-secondary" href="'.e107::getUrl()->create('system/xup/test?lgt').'">'.LAN_XUP_ERRM_12.'</a>';
152+
echo '<br /><br /><a class="btn btn-default btn-secondary" href="'.e107::getUrl()->create('system/xup/test?logout=true').'">'.LAN_XUP_ERRM_12.'</a>';
144153

145154
/*
146155
echo '<h3>Facebook</h3>';

e107_handlers/login.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,13 @@ public function login($username, $userpass, $autologin, $response = '', $noredir
174174
{
175175
if (!$this->lookupUser($username, $forceLogin))
176176
{
177-
return $this->invalidLogin($username,LOGIN_BAD_USERNAME); // User doesn't exist
177+
return false; // User doesn't exist
178178
}
179179
}
180180

181181
if ($authorized !== true && $this->checkUserPassword($username, $userpass, $response, $forceLogin) !== true)
182182
{
183-
return $this->invalidLogin($username,LOGIN_BAD_PW);
183+
return false;
184184
}
185185

186186

0 commit comments

Comments
 (0)