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  }