Browse Source

Request plain logout url

By requesting the plain logout url we allow it to be properly cached by
the caching router. We just add the requesttoken manually.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
pull/13757/head
Roeland Jago Douma 7 years ago
parent
commit
ebd9f30d85
No known key found for this signature in database GPG Key ID: F941078878347C0C
  1. 8
      lib/private/legacy/user.php
  2. 15
      tests/lib/NavigationManagerTest.php

8
lib/private/legacy/user.php

@ -269,12 +269,8 @@ class OC_User {
return $backend->getLogoutUrl();
}
$logoutUrl = $urlGenerator->linkToRouteAbsolute(
'core.login.logout',
[
'requesttoken' => \OCP\Util::callRegister(),
]
);
$logoutUrl = $urlGenerator->linkToRouteAbsolute('core.login.logout');
$logoutUrl .= '?requesttoken=' . \OCP\Util::callRegister();
return $logoutUrl;
}

15
tests/lib/NavigationManagerTest.php

@ -221,15 +221,10 @@ class NavigationManagerTest extends TestCase {
return '/apps/test/';
});
$this->urlGenerator
->expects($this->once())
->method('linkToRouteAbsolute')
->with(
'core.login.logout',
[
'requesttoken' => \OCP\Util::callRegister()
]
)
->willReturn('https://example.com/logout');
->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);
@ -275,7 +270,7 @@ class NavigationManagerTest extends TestCase {
'logout' => [
'id' => 'logout',
'order' => 99999,
'href' => 'https://example.com/logout',
'href' => 'https://example.com/logout?requesttoken='. \OCP\Util::callRegister(),
'icon' => '/apps/core/img/actions/logout.svg',
'name' => 'Log out',
'active' => false,

Loading…
Cancel
Save