Fix oauth endpoint to support detecting https in 'Forwarded' header, enabling google support (#359)

This commit is contained in:
zdebel 2024-10-31 15:03:35 +01:00 committed by GitHub
parent 4fd0832df9
commit d5e66d3994
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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