Возможная (по моему скромному мнению) причина, по которой Twitter удалил Basic Authorization, основана на том факте, что Basic Authorization основана на Base64 кодировке .Заголовок Basic Authorization позволяет хэшировать строку конкатенации имени пользователя и пароля (разделенных двоеточием).
например (псевдокод, не зависит от языка)
String basicAuth = Base64Encode("username:password"); //where username is my username and password is password.
httpRequestHeader.setHeader("Authorization", "Basic " + basicAuth);
Перехватчики могут перехватывать HTTP-запросполучить заголовок Authorization
, декодировать закодированный поток Base64 и получить имя пользователя и пароль пользователя.Код кодера / декодера можно найти в любом месте в Интернете.
Теперь перехватчик входит в Twitter, используя это имя пользователя и пароль, и становится «новым» пользователем (и изменяет пароль так, чтобы текущий пользователь небольше не входите).
Более или менее, ловушки базовой аутентификации можно найти здесь .
Во-вторых, Twitter хотел, чтобы аутентификация выполнялась на сайт издателя и не отправляется удаленно через сторонний клиент. OAuth предоставляет такую возможность.