В чем разница между BasicAuth, OAuth и XAuth?

Недавно я услышал, что Twitter отключит базовую аутентификацию в API Twitter, и они перейдут к OAuth.

Итак, я хочу знать. Какая разница между BasicAuth, OAuth и XAuth?

В чем преимущество и недостаток каждого Auth?

Ответы

Ответ 1

Twitter BasicAuth потребовал от разработчика приложения сохранить имя пользователя и пароль пользователя и передать их вместе с каждым запросом.

OAuth - открытый стандарт, в котором пользователь перенаправляется в Twitter, заполняет свое имя пользователя/пароль там (или уже зарегистрирован), а затем предоставляет разрешение на использование учетной записи. Приложение никогда не видит имя пользователя/пароль.

Чтобы процитировать страницы twitter:

Базовая аутентификация - это обязательство. Сохраняя логины и пароли, разработчик принимает дополнительные обязанности по обеспечению безопасности хранение этих учетных данных; потенциальный вред пользователям при входе в систему учетные данные утечки или злоупотребления очень высоко. Потому что многие пользователи используют тот же пароль на многих сайтах, вероятность повреждения не обязательно остановитесь с их Twitter счет.

Смотрите: http://dev.twitter.com/pages/basic_to_oauth

Примечание. Я ничего не знаю о xauth, поэтому оставляю ответы другим.

Ответ 2

xAuth - упрощенная версия OAuth. Он удаляет несколько шагов, поэтому ваше приложение отправляет OST-подписанный запрос POST с именем пользователя и паролем на серверы Twitter (используя https://api.twitter.com/oauth/access_token), который непосредственно возвращает токен потребителя и секрет для использования других запросов.

Вы должны отправить команду API Twitter, чтобы включить xAuth для своего приложения, после того, как ваше приложение имеет доступ к OAuth. См. http://dev.twitter.com/pages/xauth.