Ruby:
OAuth 1.0a добавил ПИН-код для защиты от атаки социальной инженерии , к которой был уязвим OAuth 1.0 . Но PIN-код необходимо вводить вручную только в том случае, если ваше приложение является настольным / iphone-приложением. Если это веб-приложение, PIN-код должен передаваться автоматически как часть перенаправления браузера, и пользователю не нужно его видеть или вводить.
Итак, если ваше приложение является веб-приложением, значит, есть ошибка либо в вашей библиотеке OAuth, либо в вашем ее использовании. Если ваше приложение является настольным, это «функция», предназначенная для обеспечения безопасности ваших пользователей.
Если вы не укажете Параметр oauth_callback
с URL-адресом, на который должен перенаправляться пользователь, когда он примет, по умолчанию будет использоваться механизм аутентификации на основе PIN-кода. Использование oauth_callback = oob
также вызовет поток аутентификации на основе контактов.
Я заметил, что когда я использую
config.gem "twitter",: version => "0.6.12"
twitter перенаправляет нормально и не показывает пин
, но когда я использую более новая версия гема
config.gem "twitter", :version => "0.9.2"
всегда показывает булавку.
Это определенно требует дальнейшего изучения и может быть решено с помощью дополнительной настройки , которую я не делал с новым GEM.
Просто войдите в свой аккаунт twitter и отредактируйте приложение, чтобы изменить его с Desktop на Browser Все делают эту ошибку, включая меня.