URL обратного вызова не одобрен Twitter - PullRequest
0 голосов
/ 29 июня 2018

Мое приложение, построенное на spring-social-twitter , которое позволяет пользователям входить в Twitter, недавно перестало работать.

Я получил сообщение об ошибке, как показано ниже:

URL обратного вызова не одобрен для этого клиентского приложения. Утвержденные URL-адреса для обратного вызова можно настроить в настройках приложения

Примечание. Я использую Spring Social Twitter версии 1.1.2.RELEASE. И если вы используете Spring Social Twitter версии 1.1.0.RELEASE, вы можете получить немного другое сообщение об ошибке, как показано ниже:

Запрос POST для "https://api.twitter.com/oauth/request_token" привел к 403 (Запрещено); вызов обработчика ошибок

Ответы [ 2 ]

0 голосов
/ 26 июля 2018

Я боролся с этим, так как Twitter внес изменения для повышения безопасности. Мое приложение для Android будет использовать URL-адрес обратного вызова и тот же URL-адрес в фильтре намерений. Но после изменения URL-адрес, который я использовал, должен был быть зарегистрирован на портале для разработчиков Twitter. Я использовал ouath: // myapp, но Twitter не принимает это как действительный URL (веб-сайт).

После небольшого копания я обнаружил, что для приложений вы можете указать любую схему, но только как схему. Например, я использовал myapp: // в качестве URL обратного вызова.

В моем приложении URL моего обратного вызова был myapp: // что угодно, а в фильтре Intent я использовал:

<data android:scheme="myapp" android:host="whatever">

Twitter принял URL-адрес обратного вызова и правильно перенаправил обратно в мое приложение после того, как пользователь прошел аутентификацию с помощью своих учетных данных Twitter.

Первоначально я использовал только обычный веб-сайт, и он тоже работал, но после проверки в Твиттере он спросил, хочу ли я перенаправить в Мое приложение или в браузер Chrome. Используя вышеуказанный подход, он просто вернется в ваше приложение.

После всего этого я понял, что мог бы просто добавить Oauth: // в качестве URL-адреса обратного вызова, и мое приложение работало бы без изменений.

0 голосов
/ 29 июня 2018

Недавно в Twitter (в мае 2018 года) было принято решение о том, что пользователи, выполняющие вход в систему через Twitter, должны включать URL-адреса обратных вызовов из белого списка по соображениям безопасности (см. объявление ).

Это означает, что URL-адреса обратного вызова должны быть явно и одинаково настроены для всех поддерживаемых сторонних приложений. Вы можете настроить обратные вызовы на странице настройки приложения в Твиттере: https://apps.twitter.com

Например, если ваш URL-адрес обратного вызова http://localhost:8080/myApp/signin/twitter, вы должны добавить его в список URL-адресов обратного вызова на странице настройки приложения Twitter в том виде, в каком он есть: http://localhost:8080/myApp/signin/twitter

enter image description here

См. Также документацию по URL-адресам обратного вызова Twitter .

...