mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-05-18 03:37:33 +08:00
fix webui auth for assets via referer token fallback
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -385,6 +386,14 @@ func (s *RegistryServer) checkAuth(r *http.Request) bool {
|
|||||||
if c, err := r.Cookie("clawgo_webui_token"); err == nil && strings.TrimSpace(c.Value) == s.token {
|
if c, err := r.Cookie("clawgo_webui_token"); err == nil && strings.TrimSpace(c.Value) == s.token {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
// Browser asset fallback: allow token propagated via Referer query.
|
||||||
|
if ref := strings.TrimSpace(r.Referer()); ref != "" {
|
||||||
|
if u, err := url.Parse(ref); err == nil {
|
||||||
|
if strings.TrimSpace(u.Query().Get("token")) == s.token {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user