I had built and started running an integration, which was working fine for a while... Then it started erroring all of a sudden with:
{ "error": "invalid_grant", "error_description": "authentication failure" }
The request that fails is:
curl --location 'https://<company>.my.salesforce.com/services/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=<redacted>' \
--data-urlencode 'client_secret=<redacted>' \
--data-urlencode 'username=<email>' \
--data-urlencode 'password=<password><secretKey>'
And nothing was changed in SalesForce!
Its still within API Limits, but I would expect that to raise a different error.
Update: Just noticed this is the raw error I get from the Ruby gem I am using:
Caused by Restforce::UnauthorizedError: Connection prefix not set