From 8fe3f85d1866f4dd0639cff7847b5c3b52c1fdf0 Mon Sep 17 00:00:00 2001 From: Laurynas Gadliauskas Date: Thu, 3 Jun 2021 09:43:28 +0300 Subject: [PATCH] feat: proxy logout URL (#7) --- Makefile | 3 --- cmd/config.go | 1 + cmd/config_init.go | 11 ++++++----- cmd/config_set.go | 2 ++ cmd/version.go | 2 +- frontend/src/components/Sidebar.vue | 7 ++++++- frontend/src/utils/auth.js | 17 +++++++++++++++-- frontend/src/utils/constants.js | 2 ++ http/static.go | 1 + settings/settings.go | 1 + 10 files changed, 35 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index f9f41d2c..16f52016 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,5 @@ SHELL := /bin/bash BASE_PATH := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -VERSION ?= $(shell git describe --tags --always --match=v* 2> /dev/null || \ - cat $(CURDIR)/.version 2> /dev/null || echo v0) -VERSION_HASH = $(shell git rev-parse HEAD) BIN = $(BASE_PATH)/bin PATH := $(BIN):$(PATH) diff --git a/cmd/config.go b/cmd/config.go index 5e4da979..b2ae6d22 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -35,6 +35,7 @@ func addConfigFlags(flags *pflag.FlagSet) { flags.String("auth.method", string(auth.MethodJSONAuth), "authentication type") flags.String("auth.header", "", "HTTP header for auth.method=proxy") + flags.String("auth.logoutUrl", "", "Logout URL that should be called when auth.method=proxy") flags.String("recaptcha.host", "https://www.google.com", "use another host for ReCAPTCHA. recaptcha.net might be useful in China") flags.String("recaptcha.key", "", "ReCaptcha site key") diff --git a/cmd/config_init.go b/cmd/config_init.go index 12b11688..aeda8905 100644 --- a/cmd/config_init.go +++ b/cmd/config_init.go @@ -29,11 +29,12 @@ override the options.`, authMethod, auther := getAuthentication(flags) s := &settings.Settings{ - Key: generateKey(), - Signup: mustGetBool(flags, "signup"), - Shell: convertCmdStrToCmdArray(mustGetString(flags, "shell")), - AuthMethod: authMethod, - Defaults: defaults, + Key: generateKey(), + Signup: mustGetBool(flags, "signup"), + Shell: convertCmdStrToCmdArray(mustGetString(flags, "shell")), + AuthMethod: authMethod, + AuthLogoutURL: mustGetString(flags, "auth.logoutUrl"), + Defaults: defaults, Branding: settings.Branding{ Name: mustGetString(flags, "branding.name"), DisableExternal: mustGetBool(flags, "branding.disableExternal"), diff --git a/cmd/config_set.go b/cmd/config_set.go index 4f81863c..764a94ec 100644 --- a/cmd/config_set.go +++ b/cmd/config_set.go @@ -49,6 +49,8 @@ you want to change. Other options will remain unchanged.`, set.Signup = mustGetBool(flags, flag.Name) case "auth.method": hasAuth = true + case "auth.logoutUrl": + set.AuthLogoutURL = mustGetString(flags, flag.Name) case "shell": set.Shell = convertCmdStrToCmdArray(mustGetString(flags, flag.Name)) case "branding.name": diff --git a/cmd/version.go b/cmd/version.go index 5877505e..52ecdd3e 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -16,6 +16,6 @@ var versionCmd = &cobra.Command{ Use: "version", Short: "Print the version number", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("File Browser v" + version.Version + "/" + version.CommitSHA) + fmt.Println("File Browser " + version.Version + "/" + version.CommitSHA) }, } diff --git a/frontend/src/components/Sidebar.vue b/frontend/src/components/Sidebar.vue index 109470dc..eec4e444 100644 --- a/frontend/src/components/Sidebar.vue +++ b/frontend/src/components/Sidebar.vue @@ -45,7 +45,10 @@