diff options
5 files changed, 26 insertions, 17 deletions
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php index 5ef40429120..15ec8365c19 100644 --- a/core/Controller/LoginController.php +++ b/core/Controller/LoginController.php @@ -42,7 +42,6 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\RedirectResponse; -use OCP\AppFramework\Http\RedirectToDefaultAppResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\Defaults; use OCP\IConfig; @@ -150,7 +149,7 @@ class LoginController extends Controller { */ public function showLoginForm(string $user = null, string $redirect_url = null): Http\Response { if ($this->userSession->isLoggedIn()) { - return new RedirectToDefaultAppResponse(); + return new RedirectResponse($this->urlGenerator->linkToDefaultPageUrl()); } $loginMessages = $this->session->get('loginMessages'); @@ -274,7 +273,7 @@ class LoginController extends Controller { return new RedirectResponse($location); } } - return new RedirectToDefaultAppResponse(); + return new RedirectResponse($this->urlGenerator->linkToDefaultPageUrl()); } /** diff --git a/core/Controller/TwoFactorChallengeController.php b/core/Controller/TwoFactorChallengeController.php index c343321a868..f23df5aea28 100644 --- a/core/Controller/TwoFactorChallengeController.php +++ b/core/Controller/TwoFactorChallengeController.php @@ -29,7 +29,6 @@ use OC\Authentication\TwoFactorAuth\Manager; use OC_User; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\RedirectResponse; -use OCP\AppFramework\Http\RedirectToDefaultAppResponse; use OCP\AppFramework\Http\StandaloneTemplateResponse; use OCP\Authentication\TwoFactorAuth\IActivatableAtLogin; use OCP\Authentication\TwoFactorAuth\IProvider; @@ -197,7 +196,7 @@ class TwoFactorChallengeController extends Controller { if (!is_null($redirect_url)) { return new RedirectResponse($this->urlGenerator->getAbsoluteURL(urldecode($redirect_url))); } - return new RedirectToDefaultAppResponse(); + return new RedirectResponse($this->urlGenerator->linkToDefaultPageUrl()); } } catch (TwoFactorException $e) { /* diff --git a/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php b/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php index 763a7717f2a..62445441998 100644 --- a/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php +++ b/lib/public/AppFramework/Http/RedirectToDefaultAppResponse.php @@ -30,14 +30,13 @@ use OCP\IURLGenerator; /** * Redirects to the default app + * * @since 16.0.0 + * @depreacted 23.0.0 Use RedirectResponse() with IURLGenerator::linkToDefaultPageUrl() instead */ class RedirectToDefaultAppResponse extends RedirectResponse { - - /** * Creates a response that redirects to the default app - * @since 16.0.0 */ public function __construct() { /** @var IURLGenerator $urlGenerator */ diff --git a/tests/Core/Controller/LoginControllerTest.php b/tests/Core/Controller/LoginControllerTest.php index 2f964817e7d..fe42b55db15 100644 --- a/tests/Core/Controller/LoginControllerTest.php +++ b/tests/Core/Controller/LoginControllerTest.php @@ -29,7 +29,6 @@ use OC\Core\Controller\LoginController; use OC\Security\Bruteforce\Throttler; use OC\User\Session; use OCP\AppFramework\Http\RedirectResponse; -use OCP\AppFramework\Http\RedirectToDefaultAppResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\Defaults; use OCP\IConfig; @@ -212,8 +211,12 @@ class LoginControllerTest extends TestCase { ->expects($this->once()) ->method('isLoggedIn') ->willReturn(true); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToDefaultPageUrl') + ->willReturn('/default/foo'); - $expectedResponse = new RedirectToDefaultAppResponse(); + $expectedResponse = new RedirectResponse('/default/foo'); $this->assertEquals($expectedResponse, $this->loginController->showLoginForm('', '', '')); } @@ -470,11 +473,13 @@ class LoginControllerTest extends TestCase { ->method('process') ->with($this->equalTo($loginData)) ->willReturn($loginResult); - $expected = new RedirectToDefaultAppResponse(); - - $response = $this->loginController->tryLogin($user, $password); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToDefaultPageUrl') + ->willReturn('/default/foo'); - $this->assertEquals($expected, $response); + $expected = new RedirectResponse('/default/foo'); + $this->assertEquals($expected, $this->loginController->tryLogin($user, $password)); } public function testLoginWithoutPassedCsrfCheckAndNotLoggedIn() { @@ -498,8 +503,12 @@ class LoginControllerTest extends TestCase { ->method('deleteUserValue'); $this->userSession->expects($this->never()) ->method('createRememberMeToken'); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToDefaultPageUrl') + ->willReturn('/default/foo'); - $expected = new RedirectToDefaultAppResponse(); + $expected = new RedirectResponse('/default/foo'); $this->assertEquals($expected, $this->loginController->tryLogin('Jane', $password, $originalUrl)); } diff --git a/tests/Core/Controller/TwoFactorChallengeControllerTest.php b/tests/Core/Controller/TwoFactorChallengeControllerTest.php index 20ddfa5075b..1b5042722e5 100644 --- a/tests/Core/Controller/TwoFactorChallengeControllerTest.php +++ b/tests/Core/Controller/TwoFactorChallengeControllerTest.php @@ -26,7 +26,6 @@ use OC\Authentication\TwoFactorAuth\Manager; use OC\Authentication\TwoFactorAuth\ProviderSet; use OC\Core\Controller\TwoFactorChallengeController; use OCP\AppFramework\Http\RedirectResponse; -use OCP\AppFramework\Http\RedirectToDefaultAppResponse; use OCP\AppFramework\Http\StandaloneTemplateResponse; use OCP\Authentication\TwoFactorAuth\IActivatableAtLogin; use OCP\Authentication\TwoFactorAuth\ILoginSetupProvider; @@ -207,8 +206,12 @@ class TwoFactorChallengeControllerTest extends TestCase { ->method('verifyChallenge') ->with('myprovider', $user, 'token') ->willReturn(true); + $this->urlGenerator + ->expects($this->once()) + ->method('linkToDefaultPageUrl') + ->willReturn('/default/foo'); - $expected = new RedirectToDefaultAppResponse(); + $expected = new RedirectResponse('/default/foo'); $this->assertEquals($expected, $this->controller->solveChallenge('myprovider', 'token')); } |