svchost/auth: HostCredentialsFromMap function
This function deals with turning a map derived from some user input (e.g. in a config file) into a HostCredentials object, if possible. This will be used as a standard way to specify credentials so we have a place to add new credentials types in future and have support for those across all of our map-based CredentialsSources.
This commit is contained in:
parent
43a3357473
commit
1b60e8fdb6
|
@ -0,0 +1,18 @@
|
||||||
|
package auth
|
||||||
|
|
||||||
|
// HostCredentialsFromMap converts a map of key-value pairs from a credentials
|
||||||
|
// definition provided by the user (e.g. in a config file, or via a credentials
|
||||||
|
// helper) into a HostCredentials object if possible, or returns nil if
|
||||||
|
// no credentials could be extracted from the map.
|
||||||
|
//
|
||||||
|
// This function ignores map keys it is unfamiliar with, to allow for future
|
||||||
|
// expansion of the credentials map format for new credential types.
|
||||||
|
func HostCredentialsFromMap(m map[string]interface{}) HostCredentials {
|
||||||
|
if m == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if token, ok := m["token"].(string); ok {
|
||||||
|
return HostCredentialsToken(token)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue