From 5d7f6960f30fc4ba9606d5569dddf8bf5b4764bb Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Fri, 13 May 2022 19:40:52 +0200 Subject: [PATCH] web UIs: add branding support Fixes #829 Signed-off-by: Nicola Murino --- config/config.go | 92 ++++++++++++++++----- config/config_test.go | 32 +++++-- docs/full-configuration.md | 11 ++- httpd/httpd.go | 83 +++++++++++++++---- httpd/internal_test.go | 30 ++++--- httpd/server.go | 4 +- httpd/web.go | 8 +- httpd/webadmin.go | 12 +-- httpd/webclient.go | 16 ++-- sftpd/sftpd_test.go | 8 +- sftpgo.json | 23 +++++- static/css/sftpgo.css | 10 --- static/img/login_image.png | Bin 0 -> 66679 bytes static/img/logo.png | Bin 71382 -> 14091 bytes templates/common/forgot-password.html | 8 +- templates/common/reset-password.html | 8 +- templates/webadmin/adminsetup.html | 2 +- templates/webadmin/base.html | 16 ++-- templates/webadmin/baselogin.html | 23 ++++-- templates/webadmin/login.html | 8 +- templates/webadmin/twofactor-recovery.html | 2 +- templates/webadmin/twofactor.html | 2 +- templates/webclient/base.html | 13 +-- templates/webclient/baselogin.html | 25 ++++-- templates/webclient/login.html | 6 ++ templates/webclient/viewpdf.html | 4 +- 26 files changed, 318 insertions(+), 128 deletions(-) delete mode 100644 static/css/sftpgo.css create mode 100644 static/img/login_image.png diff --git a/config/config.go b/config/config.go index 3353c869..f00294e8 100644 --- a/config/config.go +++ b/config/config.go @@ -111,7 +111,7 @@ var ( CrossOriginOpenerPolicy: "", ExpectCTHeader: "", }, - ExtraCSS: []httpd.CustomCSS{}, + Branding: httpd.Branding{}, } defaultRateLimiter = common.RateLimiterConfig{ Average: 0, @@ -1294,23 +1294,78 @@ func getHTTPDOIDCFromEnv(idx int) (httpd.OIDC, bool) { return result, isSet } -func getHTTPDExtraCSSFromEnv(idx int) []httpd.CustomCSS { - var css []httpd.CustomCSS +func getHTTPDUIBrandingFromEnv(prefix string) (httpd.UIBranding, bool) { + var result httpd.UIBranding + isSet := false - for subIdx := 0; subIdx < 10; subIdx++ { - var customCSS httpd.CustomCSS - - path, ok := os.LookupEnv(fmt.Sprintf("SFTPGO_HTTPD__BINDINGS__%v__EXTRA_CSS__%v__PATH", idx, subIdx)) - if ok { - customCSS.Path = path - } - - if path != "" { - css = append(css, customCSS) - } + name, ok := os.LookupEnv(fmt.Sprintf("%s__NAME", prefix)) + if ok { + result.Name = name + isSet = true } - return css + shortName, ok := os.LookupEnv(fmt.Sprintf("%s__SHORT_NAME", prefix)) + if ok { + result.ShortName = shortName + isSet = true + } + + faviconPath, ok := os.LookupEnv(fmt.Sprintf("%s__FAVICON_PATH", prefix)) + if ok { + result.FaviconPath = faviconPath + isSet = true + } + + logoPath, ok := os.LookupEnv(fmt.Sprintf("%s__LOGO_PATH", prefix)) + if ok { + result.LogoPath = logoPath + isSet = true + } + + loginImagePath, ok := os.LookupEnv(fmt.Sprintf("%s__LOGIN_IMAGE_PATH", prefix)) + if ok { + result.LoginImagePath = loginImagePath + isSet = true + } + + disclaimerName, ok := os.LookupEnv(fmt.Sprintf("%s__DISCLAIMER_NAME", prefix)) + if ok { + result.DisclaimerName = disclaimerName + isSet = true + } + + disclaimerPath, ok := os.LookupEnv(fmt.Sprintf("%s__DISCLAIMER_PATH", prefix)) + if ok { + result.DisclaimerPath = disclaimerPath + isSet = true + } + + extraCSS, ok := lookupStringListFromEnv(fmt.Sprintf("%s__EXTRA_CSS", prefix)) + if ok { + result.ExtraCSS = extraCSS + isSet = true + } + + return result, isSet +} + +func getHTTPDBrandingFromEnv(idx int) (httpd.Branding, bool) { + var result httpd.Branding + isSet := false + + webAdmin, ok := getHTTPDUIBrandingFromEnv(fmt.Sprintf("SFTPGO_HTTPD__BINDINGS__%v__BRANDING__WEB_ADMIN", idx)) + if ok { + result.WebAdmin = webAdmin + isSet = true + } + + webClient, ok := getHTTPDUIBrandingFromEnv(fmt.Sprintf("SFTPGO_HTTPD__BINDINGS__%v__BRANDING__WEB_CLIENT", idx)) + if ok { + result.WebClient = webClient + isSet = true + } + + return result, isSet } func getHTTPDWebClientIntegrationsFromEnv(idx int) []httpd.WebClientIntegration { @@ -1372,10 +1427,9 @@ func getHTTPDNestedObjectsFromEnv(idx int, binding *httpd.Binding) bool { isSet = true } - extraCSS := getHTTPDExtraCSSFromEnv(idx) - if len(extraCSS) > 0 { - binding.ExtraCSS = extraCSS - isSet = true + brandingConf, ok := getHTTPDBrandingFromEnv(idx) + if ok { + binding.Branding = brandingConf } return isSet diff --git a/config/config_test.go b/config/config_test.go index 390c07ef..3b962f80 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -828,7 +828,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { os.Setenv("SFTPGO_HTTPD__BINDINGS__1__PORT", "8000") os.Setenv("SFTPGO_HTTPD__BINDINGS__1__ENABLE_HTTPS", "0") os.Setenv("SFTPGO_HTTPD__BINDINGS__1__HIDE_LOGIN_URL", " 1") - os.Setenv("SFTPGO_HTTPD__BINDINGS__1__EXTRA_CSS__0__PATH", "") + os.Setenv("SFTPGO_HTTPD__BINDINGS__1__BRANDING__WEB_ADMIN__NAME", "Web Admin") + os.Setenv("SFTPGO_HTTPD__BINDINGS__1__BRANDING__WEB_CLIENT__SHORT_NAME", "WebClient") os.Setenv("SFTPGO_HTTPD__BINDINGS__2__ADDRESS", "127.0.1.1") os.Setenv("SFTPGO_HTTPD__BINDINGS__2__PORT", "9000") os.Setenv("SFTPGO_HTTPD__BINDINGS__2__ENABLE_WEB_ADMIN", "0") @@ -869,6 +870,12 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { os.Setenv("SFTPGO_HTTPD__BINDINGS__2__SECURITY__EXPECT_CT_HEADER", `max-age=86400, enforce, report-uri="https://foo.example/report"`) os.Setenv("SFTPGO_HTTPD__BINDINGS__2__EXTRA_CSS__0__PATH", "path1") os.Setenv("SFTPGO_HTTPD__BINDINGS__2__EXTRA_CSS__1__PATH", "path2") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__FAVICON_PATH", "favicon.ico") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__LOGO_PATH", "logo.png") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__LOGIN_IMAGE_PATH", "login_image.png") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__DISCLAIMER_NAME", "disclaimer") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__DISCLAIMER_PATH", "disclaimer.html") + os.Setenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__EXTRA_CSS", "1.css,2.css") t.Cleanup(func() { os.Unsetenv("SFTPGO_HTTPD__BINDINGS__0__ADDRESS") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__0__PORT") @@ -877,6 +884,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__PORT") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__ENABLE_HTTPS") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__HIDE_LOGIN_URL") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__BRANDING__WEB_ADMIN__NAME") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__BRANDING__WEB_CLIENT__SHORT_NAME") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__1__EXTRA_CSS__0__PATH") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__ADDRESS") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__PORT") @@ -918,6 +927,12 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__SECURITY__EXPECT_CT_HEADER") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__EXTRA_CSS__0__PATH") os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__EXTRA_CSS__1__PATH") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__FAVICON_PATH") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__LOGO_PATH") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__LOGIN_IMAGE_PATH") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__DISCLAIMER_NAME") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_ADMIN__DISCLAIMER_PATH") + os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__BRANDING__WEB_CLIENT__EXTRA_CSS") }) configDir := ".." @@ -941,7 +956,6 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { require.Equal(t, "127.0.0.1", bindings[1].Address) require.False(t, bindings[1].EnableHTTPS) require.Equal(t, 12, bindings[0].MinTLSVersion) - require.Len(t, bindings[0].ExtraCSS, 0) require.True(t, bindings[1].EnableWebAdmin) require.True(t, bindings[1].EnableWebClient) require.True(t, bindings[1].RenderOpenAPI) @@ -949,7 +963,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { require.Equal(t, 1, bindings[1].HideLoginURL) require.Empty(t, bindings[1].OIDC.ClientID) require.False(t, bindings[1].Security.Enabled) - require.Len(t, bindings[1].ExtraCSS, 0) + require.Equal(t, "Web Admin", bindings[1].Branding.WebAdmin.Name) + require.Equal(t, "WebClient", bindings[1].Branding.WebClient.ShortName) require.Equal(t, 9000, bindings[2].Port) require.Equal(t, "127.0.1.1", bindings[2].Address) require.True(t, bindings[2].EnableHTTPS) @@ -997,9 +1012,14 @@ func TestHTTPDBindingsFromEnv(t *testing.T) { require.Equal(t, "fullscreen=(), geolocation=()", bindings[2].Security.PermissionsPolicy) require.Equal(t, "same-origin", bindings[2].Security.CrossOriginOpenerPolicy) require.Equal(t, `max-age=86400, enforce, report-uri="https://foo.example/report"`, bindings[2].Security.ExpectCTHeader) - require.Len(t, bindings[2].ExtraCSS, 2) - require.Equal(t, "path1", bindings[2].ExtraCSS[0].Path) - require.Equal(t, "path2", bindings[2].ExtraCSS[1].Path) + require.Equal(t, "favicon.ico", bindings[2].Branding.WebAdmin.FaviconPath) + require.Equal(t, "logo.png", bindings[2].Branding.WebClient.LogoPath) + require.Equal(t, "login_image.png", bindings[2].Branding.WebAdmin.LoginImagePath) + require.Equal(t, "disclaimer", bindings[2].Branding.WebClient.DisclaimerName) + require.Equal(t, "disclaimer.html", bindings[2].Branding.WebAdmin.DisclaimerPath) + require.Len(t, bindings[2].Branding.WebClient.ExtraCSS, 2) + require.Equal(t, "1.css", bindings[2].Branding.WebClient.ExtraCSS[0]) + require.Equal(t, "2.css", bindings[2].Branding.WebClient.ExtraCSS[1]) } func TestHTTPClientCertificatesFromEnv(t *testing.T) { diff --git a/docs/full-configuration.md b/docs/full-configuration.md index 570b7de8..e0485bbf 100644 --- a/docs/full-configuration.md +++ b/docs/full-configuration.md @@ -272,8 +272,15 @@ The configuration file contains the following sections: - `permissions_policy`, string. Allows to set the `Permissions-Policy` header value. Default: blank. - `cross_origin_opener_policy`, string. Allows to set the `Cross-Origin-Opener-Policy` header value. Default: blank. - `expect_ct_header`, string. Allows to set the `Expect-CT` header value. Default: blank. - - `extra_css`, list of structs. Defines additional CSS files. Each struct has the following fields: - - `path`, string. Path to the CSS file relative to `static_files_path`. For example, if you create a directory named `extra_css` inside the static dir and put the `my.css` file in it, you must set `/extra_css/my.css` as path. + - `branding`, struct. Defines the supported customizations to suit your brand. It contains the `web_admin` and `web_client` structs that define customizations for the WebAdmin and the WebClient UIs. Each customization struct contains the following fields: + - `name`, string. Defines the UI name + - `short_name`, string. Define the short name to show next to the logo image + - `favicon_path`, string. Path to the favicon relative to `static_files_path`. For example, if you create a directory named `branding` inside the static dir and put the `favicon.ico` file in it, you must set `/branding/favicon.ico` as path. + - `logo_path`, string. Path to your logo relative to `static_files_path`. The preferred image size is 256x256 pixel + - `login_image_path`, string. Path to a custom image to show on the login screen relative to `static_files_path`. The preferred image size is 900x900 pixel + - `disclaimer_name`, string. Name for your optional disclaimer + - `disclaimer_path`, string. Path to the HTML page with the disclaimer relative to `static_files_path` + - `extra_css`, list of strings. Defines the paths, relative to `static_files_path`, to additional CSS files - `templates_path`, string. Path to the HTML web templates. This can be an absolute path or a path relative to the config dir - `static_files_path`, string. Path to the static files for the web interface. This can be an absolute path or a path relative to the config dir. If both `templates_path` and `static_files_path` are empty the built-in web interface will be disabled - `openapi_path`, string. Path to the directory that contains the OpenAPI schema and the default renderer. This can be an absolute path or a path relative to the config dir. If empty the OpenAPI schema and the renderer will not be served regardless of the `render_openapi` directive diff --git a/httpd/httpd.go b/httpd/httpd.go index 218f40cd..6235e2f5 100644 --- a/httpd/httpd.go +++ b/httpd/httpd.go @@ -314,12 +314,56 @@ func (s *SecurityConf) getHTTPSProxyHeaders() map[string]string { return headers } -// CustomCSS defines the configuration for custom CSS -type CustomCSS struct { - // Path to the CSS file relative to "static_files_path". - // For example, if you create a directory named "extra_css" inside the static dir - // and put the "my.css" file in it, you must set "/extra_css/my.css" as path. - Path string `json:"path" mapstructure:"path"` +// UIBranding defines the supported customizations for the web UIs +type UIBranding struct { + // Name defines the text to show at the login page and as HTML title + Name string `json:"name" mapstructure:"name"` + // ShortName defines the name to show next to the logo image + ShortName string `json:"short_name" mapstructure:"short_name"` + // Path to your logo relative to "static_files_path". + // For example, if you create a directory named "branding" inside the static dir and + // put the "mylogo.png" file in it, you must set "/branding/mylogo.png" as logo path. + LogoPath string `json:"logo_path" mapstructure:"logo_path"` + // Path to the image to show on the login screen relative to "static_files_path" + LoginImagePath string `json:"login_image_path" mapstructure:"login_image_path"` + // Path to your favicon relative to "static_files_path" + FaviconPath string `json:"favicon_path" mapstructure:"favicon_path"` + // DisclaimerName defines the name for the link to your optional disclaimer + DisclaimerName string `json:"disclaimer_name" mapstructure:"disclaimer_name"` + // Path to the HTML page for your disclaimer relative to "static_files_path". + DisclaimerPath string `json:"disclaimer_path" mapstructure:"disclaimer_path"` + // Additional CSS file paths, relative to "static_files_path", to include + ExtraCSS []string `json:"extra_css" mapstructure:"extra_css"` +} + +func (b *UIBranding) check() { + if b.LogoPath != "" { + b.LogoPath = util.CleanPath(b.LogoPath) + } else { + b.LogoPath = "/img/logo.png" + } + if b.LoginImagePath != "" { + b.LoginImagePath = util.CleanPath(b.LoginImagePath) + } else { + b.LoginImagePath = "/img/login_image.png" + } + if b.FaviconPath != "" { + b.FaviconPath = util.CleanPath(b.FaviconPath) + } else { + b.FaviconPath = "/favicon.ico" + } + if b.DisclaimerPath != "" { + b.DisclaimerPath = util.CleanPath(b.DisclaimerPath) + } + for idx := range b.ExtraCSS { + b.ExtraCSS[idx] = util.CleanPath(b.ExtraCSS[idx]) + } +} + +// Branding defines the branding-related customizations supported +type Branding struct { + WebAdmin UIBranding `json:"web_admin" mapstructure:"web_admin"` + WebClient UIBranding `json:"web_client" mapstructure:"web_client"` } // WebClientIntegration defines the configuration for an external Web Client integration @@ -379,8 +423,8 @@ type Binding struct { OIDC OIDC `json:"oidc" mapstructure:"oidc"` // Security defines security headers to add to HTTP responses and allows to restrict allowed hosts Security SecurityConf `json:"security" mapstructure:"security"` - // Additional CSS - ExtraCSS []CustomCSS `json:"extra_css" mapstructure:"extra_css"` + // Branding defines customizations to suit your brand + Branding Branding `json:"branding" mapstructure:"branding"` allowHeadersFrom []func(net.IP) bool } @@ -394,14 +438,21 @@ func (b *Binding) checkWebClientIntegrations() { b.WebClientIntegrations = integrations } -func (b *Binding) checkExtraCSS() { - var extraCSS []CustomCSS - for _, css := range b.ExtraCSS { - extraCSS = append(extraCSS, CustomCSS{ - Path: path.Join("/", css.Path), - }) +func (b *Binding) checkBranding() { + b.Branding.WebAdmin.check() + b.Branding.WebClient.check() + if b.Branding.WebAdmin.Name == "" { + b.Branding.WebAdmin.Name = "SFTPGo WebAdmin" + } + if b.Branding.WebAdmin.ShortName == "" { + b.Branding.WebAdmin.ShortName = "WebAdmin" + } + if b.Branding.WebClient.Name == "" { + b.Branding.WebClient.Name = "SFTPGo WebClient" + } + if b.Branding.WebClient.ShortName == "" { + b.Branding.WebClient.ShortName = "WebClient" } - b.ExtraCSS = extraCSS } func (b *Binding) parseAllowedProxy() error { @@ -642,7 +693,7 @@ func (c *Conf) Initialize(configDir string) error { return err } binding.checkWebClientIntegrations() - binding.checkExtraCSS() + binding.checkBranding() binding.Security.updateProxyHeaders() go func(b Binding) { diff --git a/httpd/internal_test.go b/httpd/internal_test.go index d7e8b988..db0a7519 100644 --- a/httpd/internal_test.go +++ b/httpd/internal_test.go @@ -301,21 +301,31 @@ func TestShouldBind(t *testing.T) { } } -func TestExtraCSSValidation(t *testing.T) { +func TestBrandingValidation(t *testing.T) { b := Binding{ - ExtraCSS: []CustomCSS{ - { - Path: "path1", + Branding: Branding{ + WebAdmin: UIBranding{ + LogoPath: "path1", + LoginImagePath: "login1.png", }, - { - Path: "../path2", + WebClient: UIBranding{ + FaviconPath: "favicon1.ico", + DisclaimerPath: "../path2", + ExtraCSS: []string{"1.css"}, }, }, } - b.checkExtraCSS() - require.Len(t, b.ExtraCSS, 2) - assert.Equal(t, "/path1", b.ExtraCSS[0].Path) - assert.Equal(t, "/path2", b.ExtraCSS[1].Path) + b.checkBranding() + assert.Equal(t, "/favicon.ico", b.Branding.WebAdmin.FaviconPath) + assert.Equal(t, "/path1", b.Branding.WebAdmin.LogoPath) + assert.Equal(t, "/login1.png", b.Branding.WebAdmin.LoginImagePath) + assert.Len(t, b.Branding.WebAdmin.ExtraCSS, 0) + assert.Equal(t, "/favicon1.ico", b.Branding.WebClient.FaviconPath) + assert.Equal(t, "/path2", b.Branding.WebClient.DisclaimerPath) + assert.Equal(t, "/img/login_image.png", b.Branding.WebClient.LoginImagePath) + if assert.Len(t, b.Branding.WebClient.ExtraCSS, 1) { + assert.Equal(t, "/1.css", b.Branding.WebClient.ExtraCSS[0]) + } } func TestRedactedConf(t *testing.T) { diff --git a/httpd/server.go b/httpd/server.go index c428e866..ca410e51 100644 --- a/httpd/server.go +++ b/httpd/server.go @@ -140,7 +140,7 @@ func (s *httpdServer) renderClientLoginPage(w http.ResponseWriter, error, ip str Error: error, CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } if s.binding.showAdminLoginURL() { data.AltLoginURL = webAdminLoginPath @@ -516,7 +516,7 @@ func (s *httpdServer) renderAdminLoginPage(w http.ResponseWriter, error, ip stri Error: error, CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } if s.binding.showClientLoginURL() { data.AltLoginURL = webClientLoginPath diff --git a/httpd/web.go b/httpd/web.go index 99329181..b1aabad5 100644 --- a/httpd/web.go +++ b/httpd/web.go @@ -32,7 +32,7 @@ type loginPage struct { AltLoginURL string ForgotPwdURL string OpenIDLoginURL string - ExtraCSS []CustomCSS + Branding UIBranding } type twoFactorPage struct { @@ -42,7 +42,7 @@ type twoFactorPage struct { CSRFToken string StaticURL string RecoveryURL string - ExtraCSS []CustomCSS + Branding UIBranding } type forgotPwdPage struct { @@ -51,7 +51,7 @@ type forgotPwdPage struct { CSRFToken string StaticURL string Title string - ExtraCSS []CustomCSS + Branding UIBranding } type resetPwdPage struct { @@ -60,7 +60,7 @@ type resetPwdPage struct { CSRFToken string StaticURL string Title string - ExtraCSS []CustomCSS + Branding UIBranding } func getSliceFromDelimitedValues(values, delimiter string) []string { diff --git a/httpd/webadmin.go b/httpd/webadmin.go index dfb742ba..e0439ae9 100644 --- a/httpd/webadmin.go +++ b/httpd/webadmin.go @@ -131,7 +131,7 @@ type basePage struct { HasDefender bool HasExternalLogin bool LoggedAdmin *dataprovider.Admin - ExtraCSS []CustomCSS + Branding UIBranding } type usersPage struct { @@ -465,7 +465,7 @@ func (s *httpdServer) getBasePageData(title, currentURL string, r *http.Request) HasDefender: common.Config.DefenderConfig.Enabled, HasExternalLogin: isLoggedInWithOIDC(r), CSRFToken: csrfToken, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } } @@ -518,7 +518,7 @@ func (s *httpdServer) renderForgotPwdPage(w http.ResponseWriter, error, ip strin CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, Title: pageForgotPwdTitle, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } renderAdminTemplate(w, templateForgotPassword, data) } @@ -530,7 +530,7 @@ func (s *httpdServer) renderResetPwdPage(w http.ResponseWriter, error, ip string CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, Title: pageResetPwdTitle, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } renderAdminTemplate(w, templateResetPassword, data) } @@ -543,7 +543,7 @@ func (s *httpdServer) renderTwoFactorPage(w http.ResponseWriter, error, ip strin CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, RecoveryURL: webAdminTwoFactorRecoveryPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } renderAdminTemplate(w, templateTwoFactor, data) } @@ -555,7 +555,7 @@ func (s *httpdServer) renderTwoFactorRecoveryPage(w http.ResponseWriter, error, Error: error, CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebAdmin, } renderAdminTemplate(w, templateTwoFactorRecovery, data) } diff --git a/httpd/webclient.go b/httpd/webclient.go index 7e1835a2..0239eb6b 100644 --- a/httpd/webclient.go +++ b/httpd/webclient.go @@ -98,7 +98,7 @@ type baseClientPage struct { CSRFToken string HasExternalLogin bool LoggedUser *dataprovider.User - ExtraCSS []CustomCSS + Branding UIBranding } type dirMapping struct { @@ -110,7 +110,7 @@ type viewPDFPage struct { Title string URL string StaticURL string - ExtraCSS []CustomCSS + Branding UIBranding } type editFilePage struct { @@ -339,7 +339,7 @@ func (s *httpdServer) getBaseClientPageData(title, currentURL string, r *http.Re CSRFToken: csrfToken, HasExternalLogin: isLoggedInWithOIDC(r), LoggedUser: getUserFromToken(r), - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } } @@ -350,7 +350,7 @@ func (s *httpdServer) renderClientForgotPwdPage(w http.ResponseWriter, error, ip CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, Title: pageClientForgotPwdTitle, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } renderClientTemplate(w, templateForgotPassword, data) } @@ -362,7 +362,7 @@ func (s *httpdServer) renderClientResetPwdPage(w http.ResponseWriter, error, ip CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, Title: pageClientResetPwdTitle, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } renderClientTemplate(w, templateResetPassword, data) } @@ -415,7 +415,7 @@ func (s *httpdServer) renderClientTwoFactorPage(w http.ResponseWriter, error, ip CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, RecoveryURL: webClientTwoFactorRecoveryPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } renderClientTemplate(w, templateTwoFactor, data) } @@ -427,7 +427,7 @@ func (s *httpdServer) renderClientTwoFactorRecoveryPage(w http.ResponseWriter, e Error: error, CSRFToken: createCSRFToken(ip), StaticURL: webStaticFilesPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } renderClientTemplate(w, templateTwoFactorRecovery, data) } @@ -1263,7 +1263,7 @@ func (s *httpdServer) handleClientViewPDF(w http.ResponseWriter, r *http.Request Title: path.Base(name), URL: fmt.Sprintf("%v?path=%v&inline=1", webClientFilesPath, url.QueryEscape(name)), StaticURL: webStaticFilesPath, - ExtraCSS: s.binding.ExtraCSS, + Branding: s.binding.Branding.WebClient, } renderClientTemplate(w, templateClientViewPDF, data) } diff --git a/sftpd/sftpd_test.go b/sftpd/sftpd_test.go index f3d28346..118c56aa 100644 --- a/sftpd/sftpd_test.go +++ b/sftpd/sftpd_test.go @@ -7001,9 +7001,9 @@ func TestHashedPasswords(t *testing.T) { user.Password = clearPwd conn, client, err := getSftpClient(user, usePubKey) if assert.NoError(t, err, "unable to login with password %#v", pwd) { - defer conn.Close() - defer client.Close() assert.NoError(t, checkBasicSFTP(client)) + conn.Close() + client.Close() } user.Password = pwd conn, client, err = getSftpClient(user, usePubKey) @@ -7026,9 +7026,9 @@ func TestHashedPasswords(t *testing.T) { user.Password = clearPwd conn, client, err = getSftpClient(user, usePubKey) if assert.NoError(t, err, "unable to login with password %#v", pwd) { - defer conn.Close() - defer client.Close() assert.NoError(t, checkBasicSFTP(client)) + conn.Close() + client.Close() } _, err = httpdtest.RemoveUser(user, http.StatusOK) assert.NoError(t, err) diff --git a/sftpgo.json b/sftpgo.json index 934a3780..394c5f8c 100644 --- a/sftpgo.json +++ b/sftpgo.json @@ -258,7 +258,28 @@ "cross_origin_opener_policy": "", "expect_ct_header": "" }, - "extra_css": [] + "branding": { + "web_admin": { + "name": "", + "short_name": "", + "favicon_path": "", + "logo_path": "", + "login_image_path": "", + "disclaimer_name": "", + "disclaimer_path": "", + "extra_css": [] + }, + "web_client": { + "name": "", + "short_name": "", + "favicon_path": "", + "logo_path": "", + "login_image_path": "", + "disclaimer_name": "", + "disclaimer_path": "", + "extra_css": [] + } + } } ], "templates_path": "templates", diff --git a/static/css/sftpgo.css b/static/css/sftpgo.css deleted file mode 100644 index 453f0822..00000000 --- a/static/css/sftpgo.css +++ /dev/null @@ -1,10 +0,0 @@ -.bg-login-image { - background-image: url(/static/img/logo.png); - background-size: contain; - background-repeat: no-repeat; - padding: 1em; -} - -.row.login-image { - height: 200px; -} diff --git a/static/img/login_image.png b/static/img/login_image.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb3569eac362a2e4dc1a3b74ae57bbf2f6bd259 GIT binary patch literal 66679 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 literal 71382 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 qeqUVu{@=bfh-Ez<%5S diff --git a/templates/common/forgot-password.html b/templates/common/forgot-password.html index 9d69a64b..28044e43 100644 --- a/templates/common/forgot-password.html +++ b/templates/common/forgot-password.html @@ -9,9 +9,9 @@ - {{.Title}} + {{.Branding.Name}} - Forgot password - + @@ -70,8 +70,8 @@ } - {{range .ExtraCSS}} - + {{range .Branding.ExtraCSS}} + {{end}} diff --git a/templates/common/reset-password.html b/templates/common/reset-password.html index ef117950..0eebe5a1 100644 --- a/templates/common/reset-password.html +++ b/templates/common/reset-password.html @@ -9,9 +9,9 @@ - {{.Title}} + {{.Branding.Name}} - Reset password - + @@ -70,8 +70,8 @@ } - {{range .ExtraCSS}} - + {{range .Branding.ExtraCSS}} + {{end}} diff --git a/templates/webadmin/adminsetup.html b/templates/webadmin/adminsetup.html index b77b87ec..a436a58e 100644 --- a/templates/webadmin/adminsetup.html +++ b/templates/webadmin/adminsetup.html @@ -11,7 +11,7 @@ SFTPGo - Setup - + diff --git a/templates/webadmin/base.html b/templates/webadmin/base.html index 77fa149c..ffd399d8 100644 --- a/templates/webadmin/base.html +++ b/templates/webadmin/base.html @@ -10,9 +10,9 @@ - SFTPGo Admin - {{template "title" .}} + {{.Branding.Name}} - {{template "title" .}} - + @@ -53,8 +53,8 @@ {{block "extra_css" .}}{{end}} - {{range .ExtraCSS}} - + {{range .Branding.ExtraCSS}} + {{end}} @@ -69,12 +69,12 @@