From: Morris Jobke Date: Tue, 7 May 2019 20:56:44 +0000 (+0200) Subject: Use non-absolute logout URL to fix wrong URL in reverse proxy scenario X-Git-Tag: v17.0.0beta1~454^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F15430%2Fhead;p=nextcloud-server.git Use non-absolute logout URL to fix wrong URL in reverse proxy scenario Signed-off-by: Morris Jobke --- diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php index 3d4dc5cc982..f1c23381987 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 31efbce929c..97471fa5213 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);