I see many people using XAuth in their app to authenticate twitter users and I'm wondering what are some situations that I would want to use XAuth in my own apps.
Thanks so much for your wisdom!
With xAuth you don't have to jump through the hoops of OAuth.
The typical OAuth workflow goes like this:
Both of the above workflows produce a key/secret pair that you can use to authenticate the user with Twitter in the future. This way you do not need to know the user's actual login credentials.
xAuth is the way to log in that most of us think of when we sign in somewhere. You take the user's login and password and send them off to Twitter, getting an access token back. Now you have to store and protect (or throw away) the user's login credentials. For this reason, Twitter requires app developers to email them for permission to use xAuth.
In my experience, most web apps stick with OAuth, since it's fairly non-intrusive when the user's already in a web browser anyway. Desktop and mobile apps tend to use xAuth, since it provides a more conventional and convenient sign-in experience.
XAuth makes things simple for approved apps. Mostly it just builds on top of OAuth, which has the following advantages: