Skip to content

Commit 1a17aa0

Browse files
Merge pull request #58196 from nextcloud/backport/58059/stable30
[stable30] fix: add X-User-Id header to logout response
2 parents ae5c1b3 + 8731ad4 commit 1a17aa0

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

core/Controller/LoginController.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ public function __construct(
7575
#[FrontpageRoute(verb: 'GET', url: '/logout')]
7676
public function logout() {
7777
$loginToken = $this->request->getCookie('nc_token');
78-
if (!is_null($loginToken)) {
79-
$this->config->deleteUserValue($this->userSession->getUser()->getUID(), 'login_token', $loginToken);
78+
$uid = $this->userSession->getUser()?->getUID();
79+
if ($loginToken !== null && $uid !== null) {
80+
$this->config->deleteUserValue($uid, 'login_token', $loginToken);
8081
}
8182
$this->userSession->logout();
8283

@@ -95,6 +96,10 @@ public function logout() {
9596
$response->addHeader('Clear-Site-Data', '"cache", "storage"');
9697
}
9798

99+
if ($uid !== null) {
100+
$response->addHeader('X-User-Id', $uid);
101+
}
102+
98103
return $response;
99104
}
100105

tests/Core/Controller/LoginControllerTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ public function testLogoutWithToken() {
213213

214214
$expected = new RedirectResponse('/login');
215215
$expected->addHeader('Clear-Site-Data', '"cache", "storage"');
216+
$expected->addHeader('X-User-Id', 'JohnDoe');
216217
$this->assertEquals($expected, $this->loginController->logout());
217218
}
218219

0 commit comments

Comments
 (0)