This is just one example of poor error reporting and may apply to other clients as well.
I had a typo in my Django settings and effectively had no TWITTER_CONSUMER_KEY set. This resulted in a 401 error from Twitter. It would make sense to report that the key is missing before hammering the auth provider's service since there is no other expected outcome when trying to authenticate with OAuth without providing credentials.
This is an easy fix and I may be back with a pull request but if somebody has the time before I do it, respect.