diff --git a/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js b/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
index 8956c9110..c36bcb347 100644
--- a/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
+++ b/ui/src/app/metadata/domain/filter/EntityAttributesFilterDefinition.js
@@ -56,6 +56,19 @@ export const EntityAttributesFilterWizard = {
return errors;
}
},
+ warnings: (data) => {
+ let warnings = {};
+ if (!data?.relyingPartyOverrides?.signAssertion && data?.relyingPartyOverrides?.dontSignResponse) {
+ warnings = {
+ ...warnings,
+ 'options': [
+ ...(warnings.hasOwnProperty('options') ? warnings['options'] : []),
+ 'message.invalid-signing'
+ ]
+ };
+ }
+ return warnings;
+ },
parser: (changes) => {
return {
...changes,
diff --git a/ui/src/app/metadata/domain/source/SourceDefinition.js b/ui/src/app/metadata/domain/source/SourceDefinition.js
index 2891ef3bf..6e961b4ac 100644
--- a/ui/src/app/metadata/domain/source/SourceDefinition.js
+++ b/ui/src/app/metadata/domain/source/SourceDefinition.js
@@ -41,6 +41,21 @@ export const SourceBase = {
return errors;
}
},
+
+ warnings: (data) => {
+ let warnings = {};
+ if (!data?.relyingPartyOverrides?.signAssertion && data?.relyingPartyOverrides?.dontSignResponse) {
+ warnings = {
+ ...warnings,
+ 'relying-party': [
+ ...(warnings.hasOwnProperty('relying-party') ? warnings['relying-party'] : []),
+ 'message.invalid-signing'
+ ]
+ };
+ }
+ return warnings;
+ },
+
uiSchema: {
'ui:order': ['serviceProviderName', '*'],
layout: {
diff --git a/ui/src/app/metadata/editor/MetadataEditor.js b/ui/src/app/metadata/editor/MetadataEditor.js
index 491f06fe9..60ca70d68 100644
--- a/ui/src/app/metadata/editor/MetadataEditor.js
+++ b/ui/src/app/metadata/editor/MetadataEditor.js
@@ -64,6 +64,8 @@ export function MetadataEditor ({ current }) {
const validator = definition.validator(data, current);
+ const warnings = definition.warnings && definition.warnings(metadata);
+
return (
+ {warnings && warnings.hasOwnProperty(section) &&
+
+ {warnings[section].map((w, widx) =>
+
+
+
+
+ )}
+
+ }
{errors.length > 0 &&
-
+
+
+
+
}
diff --git a/ui/src/app/metadata/editor/MetadataFilterEditor.js b/ui/src/app/metadata/editor/MetadataFilterEditor.js
index f34d676c0..cea26cb27 100644
--- a/ui/src/app/metadata/editor/MetadataFilterEditor.js
+++ b/ui/src/app/metadata/editor/MetadataFilterEditor.js
@@ -38,6 +38,8 @@ export function MetadataFilterEditor({children}) {
const validator = definition.validator(data, current);
+ const warnings = definition.warnings && definition.warnings(metadata);
+
return (
@@ -56,10 +58,20 @@ export function MetadataFilterEditor({children}) {
0 ? 'justify-content-between' : 'justify-content-end'}`}>
{errors.length > 0 &&
-
+
}
+ {errors.length === 0 && warnings && warnings.hasOwnProperty(section) &&
+
+ {warnings[section].map((w, widx) =>
+
+
+
+
+ )}
+
+ }
diff --git a/ui/src/app/metadata/wizard/MetadataSourceWizard.js b/ui/src/app/metadata/wizard/MetadataSourceWizard.js
index 1af478d8b..deb7b9bc9 100644
--- a/ui/src/app/metadata/wizard/MetadataSourceWizard.js
+++ b/ui/src/app/metadata/wizard/MetadataSourceWizard.js
@@ -9,6 +9,12 @@ import { Configuration } from '../hoc/Configuration';
import { useMetadataEntity, useMetadataSources } from '../hooks/api';
import { useHistory } from 'react-router';
import { removeNull } from '../../core/utility/remove_null';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
+import Translate from '../../i18n/components/translate';
+import Alert from 'react-bootstrap/esm/Alert';
+import Row from 'react-bootstrap/esm/Row';
+import Col from 'react-bootstrap/esm/Col';
export function MetadataSourceWizard ({ onShowNav }) {
@@ -60,6 +66,7 @@ export function MetadataSourceWizard ({ onShowNav }) {
}
const validator = definition.validator(data);
+ const warnings = definition.warnings && definition.warnings(metadata);
return (
<>
@@ -69,6 +76,18 @@ export function MetadataSourceWizard ({ onShowNav }) {
+ {warnings && warnings.hasOwnProperty(current) &&
+
+
+
+ {warnings[current].map((w, widx) =>
+
+ )}
+
+
+
+
+ }