From a5e6cb9a02bf9910968d0aa918161651d3990065 Mon Sep 17 00:00:00 2001 From: Julien Pivotto Date: Sun, 27 May 2018 14:52:50 +0200 Subject: [PATCH] Fix #9847 Add a generic signout_redirect_url to enable oauth logout Signed-off-by: Julien Pivotto --- conf/defaults.ini | 3 +++ conf/sample.ini | 3 +++ pkg/api/login.go | 6 +++++- pkg/setting/setting.go | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/conf/defaults.ini b/conf/defaults.ini index d45e270d65d..4ca993038f9 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -237,6 +237,9 @@ disable_login_form = false # Set to true to disable the signout link in the side menu. useful if you use auth.proxy disable_signout_menu = false +# URL to redirect the user to after sign out +signout_redirect_url = + #################################### Anonymous Auth ###################### [auth.anonymous] # enable anonymous access diff --git a/conf/sample.ini b/conf/sample.ini index f12d917039d..45888cbadd8 100644 --- a/conf/sample.ini +++ b/conf/sample.ini @@ -217,6 +217,9 @@ log_queries = # Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false ;disable_signout_menu = false +# URL to redirect the user to after sign out +;signout_redirect_url = + #################################### Anonymous Auth ########################## [auth.anonymous] # enable anonymous access diff --git a/pkg/api/login.go b/pkg/api/login.go index 9d0fa31946f..01fa71a6e44 100644 --- a/pkg/api/login.go +++ b/pkg/api/login.go @@ -155,5 +155,9 @@ func Logout(c *m.ReqContext) { c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/") c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/") c.Session.Destory(c.Context) - c.Redirect(setting.AppSubUrl + "/login") + if setting.SignoutRedirectUrl != "" { + c.Redirect(setting.SignoutRedirectUrl) + } else { + c.Redirect(setting.AppSubUrl + "/login") + } } diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index 99ce39cc18e..8d086637e94 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -104,6 +104,7 @@ var ( DefaultTheme string DisableLoginForm bool DisableSignoutMenu bool + SignoutRedirectUrl string ExternalUserMngLinkUrl string ExternalUserMngLinkName string ExternalUserMngInfo string @@ -601,6 +602,7 @@ func (cfg *Cfg) Load(args *CommandLineArgs) error { auth := iniFile.Section("auth") DisableLoginForm = auth.Key("disable_login_form").MustBool(false) DisableSignoutMenu = auth.Key("disable_signout_menu").MustBool(false) + SignoutRedirectUrl = auth.Key("signout_redirect_url").String() // anonymous access AnonymousEnabled = iniFile.Section("auth.anonymous").Key("enabled").MustBool(false)