Merge pull request #58059 from nextcloud/fix/add-missing-user-id-header

fix: add X-User-Id header to logout response
This commit is contained in:
Andy Scherzinger 2026-02-06 18:17:39 +01:00 committed by GitHub
commit b0c02b91b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View file

@ -79,8 +79,9 @@ class LoginController extends Controller {
#[FrontpageRoute(verb: 'GET', url: '/logout')]
public function logout() {
$loginToken = $this->request->getCookie('nc_token');
if (!is_null($loginToken)) {
$this->config->deleteUserValue($this->userSession->getUser()->getUID(), 'login_token', $loginToken);
$uid = $this->userSession->getUser()?->getUID();
if ($loginToken !== null && $uid !== null) {
$this->config->deleteUserValue($uid, 'login_token', $loginToken);
}
$this->userSession->logout();
@ -99,6 +100,10 @@ class LoginController extends Controller {
$response->addHeader('Clear-Site-Data', '"cache", "storage"');
}
if ($uid !== null) {
$response->addHeader('X-User-Id', $uid);
}
return $response;
}

View file

@ -218,6 +218,7 @@ class LoginControllerTest extends TestCase {
$expected = new RedirectResponse('/login');
$expected->addHeader('Clear-Site-Data', '"cache", "storage"');
$expected->addHeader('X-User-Id', 'JohnDoe');
$this->assertEquals($expected, $this->loginController->logout());
}