diff --git a/app/client/docker/templates/nginx-app-http.conf.template b/app/client/docker/templates/nginx-app-http.conf.template index 58a4eda133..3fb6cdb6b9 100644 --- a/app/client/docker/templates/nginx-app-http.conf.template +++ b/app/client/docker/templates/nginx-app-http.conf.template @@ -42,6 +42,7 @@ server { sub_filter __APPSMITH_DISABLE_TELEMETRY__ '${APPSMITH_DISABLE_TELEMETRY}'; sub_filter __APPSMITH_CLOUD_SERVICES_BASE_URL__ '${APPSMITH_CLOUD_SERVICES_BASE_URL}'; sub_filter __APPSMITH_RECAPTCHA_SITE_KEY__ '${APPSMITH_RECAPTCHA_SITE_KEY}'; + sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '${APPSMITH_FORM_LOGIN_DISABLED}'; } location /f { diff --git a/app/client/docker/templates/nginx-app-https.conf.template b/app/client/docker/templates/nginx-app-https.conf.template index 9b35bdeb57..c2ec7ddc86 100644 --- a/app/client/docker/templates/nginx-app-https.conf.template +++ b/app/client/docker/templates/nginx-app-https.conf.template @@ -52,6 +52,7 @@ server { sub_filter __APPSMITH_DISABLE_TELEMETRY__ '${APPSMITH_DISABLE_TELEMETRY}'; sub_filter __APPSMITH_CLOUD_SERVICES_BASE_URL__ '${APPSMITH_CLOUD_SERVICES_BASE_URL}'; sub_filter __APPSMITH_RECAPTCHA_SITE_KEY__ '${APPSMITH_RECAPTCHA_SITE_KEY}'; + sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '${APPSMITH_FORM_LOGIN_DISABLED}'; } location /f { diff --git a/app/client/docker/templates/nginx-app.conf.template b/app/client/docker/templates/nginx-app.conf.template index 5302393107..31ccf48d35 100644 --- a/app/client/docker/templates/nginx-app.conf.template +++ b/app/client/docker/templates/nginx-app.conf.template @@ -50,6 +50,7 @@ server { sub_filter __APPSMITH_CLOUD_SERVICES_BASE_URL__ '${APPSMITH_CLOUD_SERVICES_BASE_URL}'; sub_filter __APPSMITH_RECAPTCHA_SITE_KEY__ '${APPSMITH_RECAPTCHA_SITE_KEY}'; sub_filter __APPSMITH_DISABLE_INTERCOM__ '${APPSMITH_DISABLE_INTERCOM}'; + sub_filter __APPSMITH_FORM_LOGIN_DISABLED__ '${APPSMITH_FORM_LOGIN_DISABLED}'; } location /f { diff --git a/app/client/jest.config.js b/app/client/jest.config.js index b14ad020e2..3274979d95 100644 --- a/app/client/jest.config.js +++ b/app/client/jest.config.js @@ -41,6 +41,7 @@ module.exports = { }, enableGoogleOAuth: parseConfig("__APPSMITH_OAUTH2_GOOGLE_CLIENT_ID__"), enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"), + disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"), enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"), segment: { apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"), diff --git a/app/client/public/index.html b/app/client/public/index.html index 2f73b735a7..b154ca1df6 100755 --- a/app/client/public/index.html +++ b/app/client/public/index.html @@ -180,6 +180,7 @@ }, enableGoogleOAuth: parseConfig("__APPSMITH_OAUTH2_GOOGLE_CLIENT_ID__"), enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"), + disableLoginForm: parseConfig("__APPSMITH_FORM_LOGIN_DISABLED__"), enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"), segment: { apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"), diff --git a/app/client/src/configs/index.ts b/app/client/src/configs/index.ts index f143c1ff51..a79570c17b 100644 --- a/app/client/src/configs/index.ts +++ b/app/client/src/configs/index.ts @@ -16,6 +16,7 @@ export type INJECTED_CONFIGS = { }; enableGoogleOAuth: boolean; enableGithubOAuth: boolean; + disableLoginForm: boolean; enableRapidAPI: boolean; segment: { apiKey: string; @@ -79,6 +80,7 @@ const getConfigsFromEnvVars = (): INJECTED_CONFIGS => { enableGithubOAuth: process.env.REACT_APP_OAUTH2_GITHUB_CLIENT_ID ? process.env.REACT_APP_OAUTH2_GITHUB_CLIENT_ID.length > 0 : false, + disableLoginForm: !!process.env.APPSMITH_FORM_LOGIN_DISABLED, segment: { apiKey: process.env.REACT_APP_SEGMENT_KEY || "", ceKey: process.env.REACT_APP_SEGMENT_CE_KEY || "", @@ -258,6 +260,8 @@ export const getAppsmithConfigs = (): AppsmithUIConfigs => { enableGithubOAuth: ENV_CONFIG.enableGithubOAuth || APPSMITH_FEATURE_CONFIGS.enableGithubOAuth, + disableLoginForm: + ENV_CONFIG.disableLoginForm || APPSMITH_FEATURE_CONFIGS.disableLoginForm, enableGoogleOAuth: ENV_CONFIG.enableGoogleOAuth || APPSMITH_FEATURE_CONFIGS.enableGoogleOAuth, diff --git a/app/client/src/configs/types.ts b/app/client/src/configs/types.ts index f6db656266..bffe548830 100644 --- a/app/client/src/configs/types.ts +++ b/app/client/src/configs/types.ts @@ -55,6 +55,7 @@ export type AppsmithUIConfigs = { enableRapidAPI: boolean; enableGoogleOAuth: boolean; enableGithubOAuth: boolean; + disableLoginForm: boolean; enableMixpanel: boolean; enableTNCPP: boolean; diff --git a/app/client/src/pages/UserAuth/Login.tsx b/app/client/src/pages/UserAuth/Login.tsx index d249245714..d30d629e67 100644 --- a/app/client/src/pages/UserAuth/Login.tsx +++ b/app/client/src/pages/UserAuth/Login.tsx @@ -50,7 +50,11 @@ import PerformanceTracker, { } from "utils/PerformanceTracker"; import { getIsSafeRedirectURL } from "utils/helpers"; import { getCurrentUser } from "selectors/usersSelectors"; -const { enableGithubOAuth, enableGoogleOAuth } = getAppsmithConfigs(); +const { + disableLoginForm, + enableGithubOAuth, + enableGoogleOAuth, +} = getAppsmithConfigs(); const validate = (values: LoginFormValues) => { const errors: LoginFormValues = {}; @@ -116,15 +120,17 @@ export function Login(props: LoginFormProps) {

{createMessage(LOGIN_PAGE_TITLE)}

- - {createMessage(NEW_TO_APPSMITH)} - - {createMessage(LOGIN_PAGE_SIGN_UP_LINK_TEXT)} - - + {!disableLoginForm && ( + + {createMessage(NEW_TO_APPSMITH)} + + {createMessage(LOGIN_PAGE_SIGN_UP_LINK_TEXT)} + + + )} {showError && ( 0 && ( )} - - - - - - - + {!disableLoginForm && ( + <> + + + + + + + - -