diff --git a/packages/editor-ui/src/plugins/i18n/locales/en.json b/packages/editor-ui/src/plugins/i18n/locales/en.json
index c686503ff3..f210affad8 100644
--- a/packages/editor-ui/src/plugins/i18n/locales/en.json
+++ b/packages/editor-ui/src/plugins/i18n/locales/en.json
@@ -1736,6 +1736,9 @@
"settings.sso.settings.ips.help": "Add the raw Metadata XML provided by your Identity Provider",
"settings.sso.settings.test": "Test settings",
"settings.sso.settings.save": "Save settings",
+ "settings.sso.actionBox.title": "Available on Enterprise plan",
+ "settings.sso.actionBox.description": "Use Single Sign On to consolidate authentication into a single platform to improve security and agility.",
+ "settings.sso.actionBox.buttonText": "See plans",
"sso.login.divider": "or",
"sso.login.button": "Continue with SSO"
}
diff --git a/packages/editor-ui/src/router.ts b/packages/editor-ui/src/router.ts
index 937cb003a8..7a548d3768 100644
--- a/packages/editor-ui/src/router.ts
+++ b/packages/editor-ui/src/router.ts
@@ -578,12 +578,7 @@ export const routes = [
deny: {
shouldDeny: () => {
const settingsStore = useSettingsStore();
- const ssoStore = useSSOStore();
- return (
- !ssoStore.isEnterpriseSamlEnabled ||
- settingsStore.isCloudDeployment ||
- settingsStore.isDesktopDeployment
- );
+ return settingsStore.isCloudDeployment || settingsStore.isDesktopDeployment;
},
},
},
diff --git a/packages/editor-ui/src/views/SettingsSso.vue b/packages/editor-ui/src/views/SettingsSso.vue
index 280e38cae9..3e1c516291 100644
--- a/packages/editor-ui/src/views/SettingsSso.vue
+++ b/packages/editor-ui/src/views/SettingsSso.vue
@@ -2,10 +2,14 @@
import { computed, ref, onBeforeMount } from 'vue';
import { Notification } from 'element-ui';
import { useSSOStore } from '@/stores/sso';
-import { i18n as locale } from '@/plugins/i18n';
+import { useUsageStore } from '@/stores/usage';
+import { useUIStore } from '@/stores/ui';
+import { BaseTextKey, i18n as locale } from '@/plugins/i18n';
import CopyInput from '@/components/CopyInput.vue';
const ssoStore = useSSOStore();
+const usageStore = useUsageStore();
+const uiStore = useUIStore();
const ssoActivatedLabel = computed(() =>
ssoStore.isSamlLoginEnabled
@@ -51,7 +55,23 @@ const onTest = async () => {
}
};
+const goToUpgrade = () => {
+ const linkUrlTranslationKey = uiStore.contextBasedTranslationKeys.upgradeLinkUrl as BaseTextKey;
+ let linkUrl = locale.baseText(linkUrlTranslationKey);
+
+ if (linkUrlTranslationKey.endsWith('.upgradeLinkUrl')) {
+ linkUrl = `${usageStore.viewPlansUrl}&source=sso`;
+ } else if (linkUrlTranslationKey.endsWith('.desktop')) {
+ linkUrl = `${linkUrl}&utm_campaign=upgrade-sso`;
+ }
+
+ window.open(linkUrl, '_blank');
+};
+
onBeforeMount(async () => {
+ if (!ssoStore.isEnterpriseSamlEnabled) {
+ return;
+ }
try {
await getSamlConfig();
} catch (error) {
@@ -69,7 +89,7 @@ onBeforeMount(async () => {