github.com/versent/saml2aws@v2.17.0+incompatible/helper/credentials/saml.go (about) 1 package credentials 2 3 import ( 4 "fmt" 5 "path" 6 7 "github.com/versent/saml2aws/pkg/creds" 8 ) 9 10 // LookupCredentials lookup an existing set of credentials and validate it. 11 func LookupCredentials(loginDetails *creds.LoginDetails, provider string) error { 12 13 username, password, err := CurrentHelper.Get(fmt.Sprintf("%s", loginDetails.URL)) 14 if err != nil { 15 return err 16 } 17 18 loginDetails.Username = username 19 loginDetails.Password = password 20 21 if provider == "OneLogin" { 22 id, secret, err := CurrentHelper.Get(path.Join(loginDetails.URL, "/auth/oauth2/v2/token")) 23 if err != nil { 24 return err 25 } 26 loginDetails.ClientID = id 27 loginDetails.ClientSecret = secret 28 } 29 return nil 30 } 31 32 // SaveCredentials save the user credentials. 33 func SaveCredentials(url, username, password string) error { 34 35 creds := &Credentials{ 36 ServerURL: fmt.Sprintf("%s", url), 37 Username: username, 38 Secret: password, 39 } 40 41 return CurrentHelper.Add(creds) 42 } 43 44 // SupportsStorage will return true or false if storage is supported. 45 func SupportsStorage() bool { 46 return CurrentHelper.SupportsCredentialStorage() 47 }