]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
fix(ui-server): reject colon in configured authentication username (RFC 7617)
authorJérôme Benoit <jerome.benoit@sap.com>
Wed, 22 Apr 2026 20:26:13 +0000 (22:26 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Wed, 22 Apr 2026 20:26:13 +0000 (22:26 +0200)
Throw at startup if uiServer.authentication.username contains ':'
to prevent silent auth failures from malformed Basic Auth headers.

src/charging-station/ui-server/UIServerFactory.ts

index d5f17a13b27857c18d5a225abbb535323a7b7c88..1afc69595a04d3b66f71d1a6c77a7f589590c960 100644 (file)
@@ -42,6 +42,14 @@ export class UIServerFactory {
         `'${uiServerConfiguration.authentication.type}' authentication type with application protocol type '${uiServerConfiguration.type}' is not supported in '${ConfigurationSection.uiServer}' configuration section`
       )
     }
+    if (
+      uiServerConfiguration.authentication?.enabled === true &&
+      uiServerConfiguration.authentication.username?.includes(':') === true
+    ) {
+      throw new BaseError(
+        `Authentication username in '${ConfigurationSection.uiServer}' configuration section must not contain ':' (RFC 7617)`
+      )
+    }
     if (
       uiServerConfiguration.authentication?.enabled !== true &&
       !isLoopback(uiServerConfiguration.options?.host ?? '')