From 7f0105fe269c83a0c2aac36bd04ae9bd531fb50a Mon Sep 17 00:00:00 2001 From: zdebel Date: Wed, 30 Oct 2024 14:09:58 +0100 Subject: [PATCH] Fix oauth endpoint to support detecting https in 'Forwarded' header, enabling google support --- internal/web/auth.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/internal/web/auth.go b/internal/web/auth.go index f7d1b157..0b15037d 100644 --- a/internal/web/auth.go +++ b/internal/web/auth.go @@ -315,6 +315,20 @@ func oauth(ctx echo.Context) error { httpProtocol = "https" } + forwarded_hdr := ctx.Request().Header.Get("Forwarded") + if forwarded_hdr != "" { + fields := strings.Split(forwarded_hdr, ";") + fwd := make(map[string]string) + for _, v := range fields { + p := strings.Split(v, "=") + fwd[p[0]] = p[1] + } + val, ok := fwd["proto"] + if ok && val == "https" { + httpProtocol = "https" + } + } + var opengistUrl string if config.C.ExternalUrl != "" { opengistUrl = config.C.ExternalUrl