From 8849612138ff3ac12ca3409adadca2591bf16e47 Mon Sep 17 00:00:00 2001 From: akastijn Date: Sun, 2 Aug 2026 17:25:50 +0200 Subject: [PATCH] Update `subscribe` endpoint in `CommandsToServerController` to use `X-Altitude-Token` header instead of `AuthenticationPrincipal`; fix invalid token handling; add return in `ServerMessageService` test message logic. --- .../controllers/event/CommandsToServerController.java | 9 +++------ .../services/chat/to_server/ServerMessageService.java | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/com/alttd/altitudeweb/controllers/event/CommandsToServerController.java b/backend/src/main/java/com/alttd/altitudeweb/controllers/event/CommandsToServerController.java index 7bd7350..b8e4995 100644 --- a/backend/src/main/java/com/alttd/altitudeweb/controllers/event/CommandsToServerController.java +++ b/backend/src/main/java/com/alttd/altitudeweb/controllers/event/CommandsToServerController.java @@ -9,10 +9,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.security.core.token.Token; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ResponseStatusException; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; @@ -27,7 +24,7 @@ public class CommandsToServerController { private String validToken; @GetMapping(path = "/subscribe/{server}", produces = MediaType.TEXT_EVENT_STREAM_VALUE) - public SseEmitter subscribe(@AuthenticationPrincipal Token token, + public SseEmitter subscribe(@RequestHeader(value = "X-Altitude-Token") String token, HttpServletResponse response, @PathVariable String server) { if (validToken == null || validToken.equals("invalid-token")) { log.error("Invalid token in config"); @@ -37,7 +34,7 @@ public class CommandsToServerController { throw new ResponseStatusException(HttpStatus.UNAUTHORIZED); } - if (!token.getKey().equals(validToken)) { + if (!token.equals(validToken)) { throw new ResponseStatusException(HttpStatus.FORBIDDEN); } diff --git a/backend/src/main/java/com/alttd/altitudeweb/services/chat/to_server/ServerMessageService.java b/backend/src/main/java/com/alttd/altitudeweb/services/chat/to_server/ServerMessageService.java index db534ba..175e9a0 100644 --- a/backend/src/main/java/com/alttd/altitudeweb/services/chat/to_server/ServerMessageService.java +++ b/backend/src/main/java/com/alttd/altitudeweb/services/chat/to_server/ServerMessageService.java @@ -49,6 +49,7 @@ public class ServerMessageService { .message("This is a test a cool test").build(); if (!sendMessage("alpha", "web_chat", toJson(chatFromWeb))) { log.warn("Failed to send test message"); + return; } log.info("Sent test message"); }