mirror of
https://github.com/bitwarden/browser
synced 2025-12-10 05:13:29 +00:00
Redact SignalR token from logs (#15402)
This commit is contained in:
@@ -31,22 +31,35 @@ export type TimeoutManager = {
|
|||||||
class SignalRLogger implements ILogger {
|
class SignalRLogger implements ILogger {
|
||||||
constructor(private readonly logService: LogService) {}
|
constructor(private readonly logService: LogService) {}
|
||||||
|
|
||||||
|
redactMessage(message: string): string {
|
||||||
|
const ACCESS_TOKEN_TEXT = "access_token=";
|
||||||
|
// Redact the access token from the logs if it exists.
|
||||||
|
const accessTokenIndex = message.indexOf(ACCESS_TOKEN_TEXT);
|
||||||
|
if (accessTokenIndex !== -1) {
|
||||||
|
return message.substring(0, accessTokenIndex + ACCESS_TOKEN_TEXT.length) + "[REDACTED]";
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
log(logLevel: LogLevel, message: string): void {
|
log(logLevel: LogLevel, message: string): void {
|
||||||
|
const redactedMessage = `[SignalR] ${this.redactMessage(message)}`;
|
||||||
|
|
||||||
switch (logLevel) {
|
switch (logLevel) {
|
||||||
case LogLevel.Critical:
|
case LogLevel.Critical:
|
||||||
this.logService.error(message);
|
this.logService.error(redactedMessage);
|
||||||
break;
|
break;
|
||||||
case LogLevel.Error:
|
case LogLevel.Error:
|
||||||
this.logService.error(message);
|
this.logService.error(redactedMessage);
|
||||||
break;
|
break;
|
||||||
case LogLevel.Warning:
|
case LogLevel.Warning:
|
||||||
this.logService.warning(message);
|
this.logService.warning(redactedMessage);
|
||||||
break;
|
break;
|
||||||
case LogLevel.Information:
|
case LogLevel.Information:
|
||||||
this.logService.info(message);
|
this.logService.info(redactedMessage);
|
||||||
break;
|
break;
|
||||||
case LogLevel.Debug:
|
case LogLevel.Debug:
|
||||||
this.logService.debug(message);
|
this.logService.debug(redactedMessage);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user