From 3ab884a47911dbe592ef0f393d9eb206e944587e Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 7 May 2019 22:56:44 +0200 Subject: [PATCH] Use non-absolute logout URL to fix wrong URL in reverse proxy scenario Signed-off-by: Morris Jobke --- lib/private/legacy/user.php | 2 +- tests/lib/NavigationManagerTest.php | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php index 3d4dc5cc98..f1c2338198 100644 --- a/lib/private/legacy/user.php +++ b/lib/private/legacy/user.php @@ -269,7 +269,7 @@ class OC_User { return $backend->getLogoutUrl(); } - $logoutUrl = $urlGenerator->linkToRouteAbsolute('core.login.logout'); + $logoutUrl = $urlGenerator->linkToRoute('core.login.logout'); $logoutUrl .= '?requesttoken=' . urlencode(\OCP\Util::callRegister()); return $logoutUrl; diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php index 31efbce929..97471fa521 100644 --- a/tests/lib/NavigationManagerTest.php +++ b/tests/lib/NavigationManagerTest.php @@ -217,14 +217,12 @@ class NavigationManagerTest extends TestCase { $this->urlGenerator->expects($this->any())->method('imagePath')->willReturnCallback(function ($appName, $file) { return "/apps/$appName/img/$file"; }); - $this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function () { + $this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function ($route) { + if ($route === 'core.login.logout') { + return 'https://example.com/logout'; + } return '/apps/test/'; }); - $this->urlGenerator - ->expects($this->once()) - ->method('linkToRouteAbsolute') - ->with('core.login.logout') - ->willReturn('https://example.com/logout'); $user = $this->createMock(IUser::class); $user->expects($this->any())->method('getUID')->willReturn('user001'); $this->userSession->expects($this->any())->method('getUser')->willReturn($user);