[v9.4.x] Navigation: Sanitize homeUrl (#65365)

Navigation: Sanitize homeUrl (#65293)

sanitize homeUrl

(cherry picked from commit f948482386)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
This commit is contained in:
Grot (@grafanabot)
2023-03-27 15:41:32 +01:00
committed by GitHub
co-authored by Ashley Harrison
parent 84e9267612
commit 72dad41413
2 changed files with 4 additions and 4 deletions
@@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import React from 'react';
import { useLocation } from 'react-router-dom';
import { GrafanaTheme2, locationUtil } from '@grafana/data';
import { GrafanaTheme2, locationUtil, textUtil } from '@grafana/data';
import { Dropdown, ToolbarButton, useStyles2 } from '@grafana/ui';
import { config } from 'app/core/config';
import { contextSrv } from 'app/core/core';
@@ -37,7 +37,7 @@ export function TopSearchBar() {
let homeUrl = config.appSubUrl || '/';
if (!config.bootData.user.isSignedIn && !config.anonymousEnabled) {
homeUrl = locationUtil.getUrlForPartial(location, { forceLogin: 'true' });
homeUrl = textUtil.sanitizeUrl(locationUtil.getUrlForPartial(location, { forceLogin: 'true' }));
}
return (
+2 -2
View File
@@ -5,7 +5,7 @@ import { cloneDeep } from 'lodash';
import React, { useState } from 'react';
import { useLocation } from 'react-router-dom';
import { GrafanaTheme2, locationUtil, NavModelItem, NavSection } from '@grafana/data';
import { GrafanaTheme2, locationUtil, NavModelItem, NavSection, textUtil } from '@grafana/data';
import { config, locationSearchToObject, locationService, reportInteraction } from '@grafana/runtime';
import { useTheme2, CustomScrollbar, IconButton } from '@grafana/ui';
import { getKioskMode } from 'app/core/navigation/kiosk';
@@ -53,7 +53,7 @@ export const NavBar = React.memo(() => {
let homeUrl = config.appSubUrl || '/';
if (!config.bootData.user.isSignedIn && !config.anonymousEnabled) {
homeUrl = locationUtil.getUrlForPartial(location, { forceLogin: 'true' });
homeUrl = textUtil.sanitizeUrl(locationUtil.getUrlForPartial(location, { forceLogin: 'true' }));
}
const homeItem: NavModelItem = enrichWithInteractionTracking(