From be04c1ce17ab7a55a6f179c8c4d2ac60a597aa5d Mon Sep 17 00:00:00 2001 From: Aldino Kemal Date: Wed, 23 Nov 2022 06:51:25 +0700 Subject: [PATCH] feat: add multiple basic auth account (#34) * feat: add multiple basic auth account * chore: update docs --- readme.md | 6 +++--- src/cmd/root.go | 21 +++++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/readme.md b/readme.md index 2d6ee20..a89de54 100644 --- a/readme.md +++ b/readme.md @@ -12,9 +12,9 @@ - Compress video before send - Change OS name become your app (it's the device name when connect via mobile) - `--os=Chrome` or `--os=MyApplication` -- Basic Auth - - `--basic-auth=kemal:secret`, or you can simplify - - `-b=kemal:secret` +- Basic Auth (able to add multi account) + - `--basic-auth=kemal:secret,toni:password,userName:secretPassword`, or you can simplify + - `-b=kemal:secret,toni:password,userName:secretPassword` - Customizable port and debug mode - `--port 8000` - `--debug true` diff --git a/src/cmd/root.go b/src/cmd/root.go index b7cf302..ff39495 100644 --- a/src/cmd/root.go +++ b/src/cmd/root.go @@ -74,16 +74,21 @@ func runRest(_ *cobra.Command, _ []string) { })) if config.AppBasicAuthCredential != "" { - ba := strings.Split(config.AppBasicAuthCredential, ":") - if len(ba) != 2 { - log.Fatalln("Basic auth is not valid, please this following format :") + account := make(map[string]string, 0) + multipleBA := strings.Split(config.AppBasicAuthCredential, ",") + for _, basicAuth := range multipleBA { + ba := strings.Split(basicAuth, ":") + if len(ba) != 2 { + log.Fatalln("Basic auth is not valid, please this following format :") + } + account[ba[0]] = ba[1] } - app.Use(basicauth.New(basicauth.Config{ - Users: map[string]string{ - ba[0]: ba[1], - }, - })) + if account != nil { + app.Use(basicauth.New(basicauth.Config{ + Users: account, + })) + } } db := utils.InitWaDB()