Ответ 1
Я смог его решить (также для разработки), добавив эти URL:
Для производства:
-
https://mydomain/users/auth/twitter/callback
-
http://mydomain/users/auth/twitter/callback
Для развития:
-
http://localhost:3000/users/auth/twitter/callback
Все прекрасно работало, и Омняут внезапно прекратил работать. Я не делал никаких изменений кода.
Я проверил настройки Twitter Apps: у меня есть URL-адрес обратного вызова для моего основного производственного URL-адреса, а URL-адрес обратного вызова заблокирован до номера. Все ключи верны.
Любая идея? 🤔
OAuth :: Несанкционированное
403 Запрещено
Я смог его решить (также для разработки), добавив эти URL:
Для производства:
https://mydomain/users/auth/twitter/callback
http://mydomain/users/auth/twitter/callback
Для развития:
http://localhost:3000/users/auth/twitter/callback
Теперь по URL-адресу обратного вызова twitter вам необходимо добавить два URL-адреса обратного вызова, а URL-адрес обратного вызова должен быть вашим приложением.
Я столкнулся с такой же проблемой, теперь, добавив второй URL обратного вызова, он исправлен.
Для получения дополнительной информации проверьте: https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342
Добавление второго URL-адреса обратного вызова в https://mysitecom/auth/twitter/callback исправил проблему (на данный момент)
----
Обновление: это фактически решило проблему примерно за 10 минут. Испытывать ту же проблему сейчас
Я работаю в разработке не по производству и столкнулся с этой проблемой, используя драгоценные камни omniauth и omniauth-twitter. Но с этими двумя URL обратного вызова:
http://127.0.0.1:3000
http://localhost:3000/auth/twitter/callback
проблему можно избежать. Странно, так как учебник RailsApps предупреждает об использовании "localhost" в Twitter.
Я только что решил проблему, поместив https://domain/oauths/callback
в список URL https://domain/oauths/callback
. Убедитесь, что вы включили опцию блокировки обратного вызова.
Это почти наверняка связано с этим изменением: Действие НЕОБХОДИМО - Войти с помощью пользователей Twitter должны включать белый список обратных вызовов.
Из ссылки:
Через 30 дней мы начнем применять белый список таким образом, чтобы любой URL-адрес, не добавленный в белый список, не удался. Это означает, что URL-адреса больше не могут быть программно переопределены при вызовах конечной точки oauth/request_token 112. Предоставляемый параметр callback_url должен соответствовать одному из URL-адресов обратного вызова с использованием белого списка. Хотя мы обычно предоставляем дольше 30-дневного уведомления об изменениях, подобных этому, эта временная шкала позволяет нам продолжать обеспечивать безопасный и безопасный опыт для разработчиков и наших пользователей.
Вы можете добавить обратные вызовы в свой белый список на странице настроек приложений на сайте apps.twitter.com 488.
Включите параметр "Включить блокировку обратного вызова", чтобы проверить, что принимаются только URL-адреса, которые вы используете в белом списке. URL-адреса обратного вызова будут автоматически заблокированы, и белый список будет введен в действие, начиная с 12 июня. Параметр "Включить блокировку обратного вызова" будет удален в эту дату.
Я не мог заставить это работать в разработке с 127.0.0.1
поэтому я закончил создание записи DNS A
, указывающей на 127.0.0.1
(например, dev.example.com
), и использовал это в настройках URL- dev.example.com
обратного вызова на https://apps.twitter.com.
Юникодное доменное имя. Twitter дайте мне ошибку: неподдерживаемый формат имени домена. Мне нужно точно совместить URL-адрес обратного вызова, отправить мой сервер и URL-адрес обратного вызова в моем приложении Twitter. Решение: config/initialization/twitter.rb
OmniAuth::Strategies::Twitter.class_eval do
def callback_url
return my_custom_twitter_app_callback_url_string_variable
end
end