mirror of
https://github.com/hacdias/webdav.git
synced 2024-04-21 12:32:06 +00:00
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")
|
||||
}
|
||||
|
||||
// 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)
|
||||
if !ok {
|
||||
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
|
||||
|
||||
user := &webdav.User{
|
||||
|
||||
Reference in New Issue
Block a user