mirror of
https://github.com/hacdias/webdav.git
synced 2026-09-23 19:51:53 +08:00
Merge pull request #11 from acez/userdata-from-environment
Add support for loading username and password from environment
This commit is contained in:
@@ -77,11 +77,35 @@ func parseUsers(raw []map[string]interface{}, c *cfg) {
|
|||||||
log.Fatal("user needs an username")
|
log.Fatal("user needs an username")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// load username from environment when prefix {env} is added
|
||||||
|
if strings.HasPrefix(username, "{env}") {
|
||||||
|
var envUsername = strings.TrimPrefix(username, "{env}")
|
||||||
|
if envUsername == "" {
|
||||||
|
log.Fatal("no environment variable specified for username")
|
||||||
|
}
|
||||||
|
username = os.Getenv(envUsername)
|
||||||
|
if username == "" {
|
||||||
|
log.Fatal("username must be set in environment")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
password, ok := r["password"].(string)
|
password, ok := r["password"].(string)
|
||||||
if !ok {
|
if !ok {
|
||||||
log.Fatal("user needs a password")
|
log.Fatal("user needs a password")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// load password from environment when prefix {env} is added
|
||||||
|
if strings.HasPrefix(password, "{env}") {
|
||||||
|
var envPassword = strings.TrimPrefix(password, "{env}")
|
||||||
|
if envPassword == "" {
|
||||||
|
log.Fatal("no environment variable specified for password")
|
||||||
|
}
|
||||||
|
password = os.Getenv(envPassword)
|
||||||
|
if password == "" {
|
||||||
|
log.Fatal("password must be set in environment")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
c.auth[username] = password
|
c.auth[username] = password
|
||||||
|
|
||||||
user := &webdav.User{
|
user := &webdav.User{
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ users:
|
|||||||
password: admin
|
password: admin
|
||||||
- username: encrypted
|
- username: encrypted
|
||||||
password: "{bcrypt}$2y$10$zEP6oofmXFeHaeMfBNLnP.DO8m.H.Mwhd24/TOX2MWLxAExXi4qgi"
|
password: "{bcrypt}$2y$10$zEP6oofmXFeHaeMfBNLnP.DO8m.H.Mwhd24/TOX2MWLxAExXi4qgi"
|
||||||
|
- username: "{env}ENV_USERNAME"
|
||||||
|
password: "{env}ENV_PASSWORD"
|
||||||
- username: basic
|
- username: basic
|
||||||
password: basic
|
password: basic
|
||||||
modify: false
|
modify: false
|
||||||
|
|||||||
Reference in New Issue
Block a user