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
}