From 453238abbc36181d23e8b270612c38bafa7e9adc Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Wed, 3 Mar 2021 12:31:23 +0300 Subject: [PATCH] add http auth --- server/web/auth/auth.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 server/web/auth/auth.go diff --git a/server/web/auth/auth.go b/server/web/auth/auth.go new file mode 100644 index 0000000..4401d8c --- /dev/null +++ b/server/web/auth/auth.go @@ -0,0 +1,32 @@ +package auth + +import ( + "encoding/json" + "io/ioutil" + "path/filepath" + + "github.com/gin-gonic/gin" + + "server/settings" +) + +func SetupAuth(engine *gin.Engine) *gin.RouterGroup { + if !settings.HttpAuth { + return nil + } + accs := getAccounts() + if accs == nil { + return nil + } + return engine.Group("/", gin.BasicAuth(accs)) +} + +func getAccounts() gin.Accounts { + buf, err := ioutil.ReadFile(filepath.Join(settings.Path, "accs.db")) + if err != nil { + return nil + } + var accs gin.Accounts + json.Unmarshal(buf, &accs) + return accs +}