I've honestly come to the conclusion that a certain portion of you are working hard to assign nefarious motives to me so that you can sleep at night feeling your beloved Tesla is perfect. I'm getting kind of tired of fighting that nonsense.
I'm not changing my article to suit your conclusions. If you want to disagree, write your own article.
- - - Updated - - -
I said it up stream, but I'll say it again here.
Why not just create sub-accounts, with particular username/password combinations you CAN hand out to 3rd party sites? This is the same as #1 above but without the OAuth tokenism.
Two reasons:
#1 Username/password should never be used in authentication. We use it by necessity for authenticating users because of flawed human memory. When you enable one piece of software to authenticate automatically with another, it is not subject to the constraints of human memory and thus is free to use something stronger.
#2 Whether it's a weak username/password or stronger app ID/token, there's already a standard for doing this. So why roll your own?
Having said that, even though I keep pushing OAuth in this context, this isn't about OAuth. Any authentication system that does this is fine. It's just that a) Tesla's doesn't and b) there's an existing standard which means the excuses for not doing it are very weak.
If they had done an authentication system that had strong app-specific, revocable credentials that they built themselves, there'd be no article.
I'm actually a huge OAuth critic. But mostly because it is abused for use cases in which other authentication is more appropriate. This just happens to be a textbook OAuth use case.