func GetSalesforceCredentials()

in bayeux.go [302:321]


func GetSalesforceCredentials(ap AuthenticationParameters) (creds *Credentials, err error) {
	params := url.Values{"grant_type": {"password"},
		"client_id":     {ap.ClientID},
		"client_secret": {ap.ClientSecret},
		"username":      {ap.Username},
		"password":      {ap.Password}}
	res, err := http.PostForm(ap.TokenURL, params)
	if err != nil {
		return nil, err
	}
	decoder := json.NewDecoder(res.Body)
	if err := decoder.Decode(&creds); err == io.EOF {
		return nil, err
	} else if err != nil {
		return nil, err
	} else if creds.AccessToken == "" {
		return nil, fmt.Errorf("unable to fetch access token: %w", err)
	}
	return creds, nil
}