feat(auth/ldap): allow passing the LDAP password via an env var (#18225)

* feat(auth/ldap): allow passing the LDAP password via an environment variable when authenticating via the CLI

* chore(auth/ldap): add changelog entry for PR 18225
This commit is contained in:
Jakob Beckmann 2023-02-23 17:16:17 +01:00 committed by GitHub
parent 15302d9fe2
commit 0bed33d84f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 8 deletions

View File

@ -26,12 +26,15 @@ func (h *CLIHandler) Auth(c *api.Client, m map[string]string) (*api.Secret, erro
}
password, ok := m["password"]
if !ok {
fmt.Fprintf(os.Stderr, "Password (will be hidden): ")
var err error
password, err = pwd.Read(os.Stdin)
fmt.Fprintf(os.Stderr, "\n")
if err != nil {
return nil, err
password = passwordFromEnv()
if password == "" {
fmt.Fprintf(os.Stderr, "Password (will be hidden): ")
var err error
password, err = pwd.Read(os.Stdin)
fmt.Fprintf(os.Stderr, "\n")
if err != nil {
return nil, err
}
}
}
@ -70,8 +73,9 @@ Usage: vault login -method=ldap [CONFIG K=V...]
Configuration:
password=<string>
LDAP password to use for authentication. If not provided, the CLI will
prompt for this on stdin.
LDAP password to use for authentication. If not provided, it will use
the VAULT_LDAP_PASSWORD environment variable. If this is not set, the
CLI will prompt for this on stdin.
username=<string>
LDAP username to use for authentication.
@ -89,3 +93,7 @@ func usernameFromEnv() string {
}
return ""
}
func passwordFromEnv() string {
return os.Getenv("VAULT_LDAP_PASSWORD")
}

3
changelog/18225.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:improvement
auth/ldap: allow providing the LDAP password via an env var when authenticating via the CLI
```