Twitter BasicAuth a demandé au développeur d'une application de stocker le nom d'utilisateur et le mot de passe de l'utilisateur, et de les transmettre avec chaque demande. OAuth est une norme ouverte, où l'utilisateur est redirigé vers Twitter, y remplit son nom d'utilisateur/mot de passe (ou est déjà connecté) et autorise ensuite l'application à utiliser son compte. L'application ne voit jamais le nom d'utilisateur/mot de passe.
Pour citer les pages twitter:
l'authentification de base est une responsabilité. En stockant les identifiants et les mots de passe, un développeur assume des responsabilités supplémentaires pour le stockage sécurisé de ces informations d'identification ; le préjudice potentiel aux utilisateurs si les identifiants de connexion sont fuites ou abusés est très élevé. Parce que de nombreux utilisateurs utilisent le même mot de passe à travers de nombreux sites, le potentiel de dommages ne cesse pas nécessairement avec leur compte Twitter .
Voir: http://dev.twitter.com/pages/basic_to_oauth
Note: Je ne sais pas quoi que ce soit au sujet xauth, laissant ainsi que jusqu'à d'autres pour répondre.