Как я могу заставить Yahoo OAuth работать, когда я развиваюсь локально, когда мой локальный домен не зарегистрирован в Yahoo? - PullRequest
14 голосов
/ 02 сентября 2010

Я работаю над приложением, которое использует Yahoo OAuth. OAuth работал нормально, но я только что зарегистрировал свой домен в Yahoo, и теперь он не позволяет мне использовать OAuth при локальной разработке, потому что «Пользовательский порт не разрешен или хост не зарегистрирован с этим ключом потребителя.»

Проблема заключается в том, что мой URL обратного вызова относится к домену, который не зарегистрирован в Yahoo (http://localhost:8080/welcome).

Я не уверен, что делать. Я также новичок в разработке, так что если вы могли бы быть конкретным с предложениями, которые были бы удивительными! Любая помощь с благодарностью.

Ответы [ 6 ]

27 голосов
/ 17 февраля 2011

Hiii ... Yahoo работает на локальном хосте :) ... что вам нужно сделать, при регистрации на потребительский ключ и секретный ключ Yahoo, страница регистрации спросит вас, какое приложение у вас.Я думаю, что это дает вам два варианта, веб-сайт и один в качестве отдельного приложения.Выберите автономное приложение, как в вашем случае.Затем он даст вам пару ключей, и он будет работать на localhost :).Наслаждайтесь!

8 голосов
/ 22 октября 2010

Похоже на Yahoo!не хочет, чтобы ты это делал. Некоторые ответы на похожие вопросы могут быть полезны (или нет):

РЕДАКТИРОВАТЬ: больше доказательств Yahoo!не поддерживает это: http://developer.yahoo.net/forum/?showtopic=6496&cookiecheckonly=1

4 голосов
/ 26 июня 2013

Я только что затронул эту проблему сегодня и обнаружил, что самое простое решение - просто зарегистрировать отдельный ключ для моей среды разработки. Пока вы не подтвердите домен для этого ключа, вы не должны сталкиваться с какими-либо проблемами.

2 голосов
/ 16 мая 2018

После многих попыток я также пришел к выводу, что redirect_uri от Yahoo, похоже, не работает с портами, отличными от 80.

Единственное решение, которое у меня сработало:

  1. Скачать ngrok
  2. Запустить приложение и ввести ngrok http xxxx в консоли - где xxxx - это порт, который выпытаются получить доступ к
  3. Команда сгенерирует http://xxxxxx.ngrok.io ссылку для пересылки, которую можно использовать для нужд Yahoo
  4. Создать новое Установленное приложение в https://developer.yahoo.com/apps/create/ и введите http://xxxxxx.ngrok.io в поле Callback Domain .
  5. Ссылки теперь должны работать с этим redirect_uri
1 голос
/ 31 августа 2016

Обращаясь к Мухаммеду комментируйте Винья ответ здесь, потому что я не могу комментировать. Вы должны иметь возможность использовать обратный вызов с автономным приложением, если вы укажете 127.0.0.1 в качестве домена обратного вызова. Вам также может потребоваться изменить порт, который прослушивает ваш локальный сервер, потому что вы не можете запросить, чтобы Yahoo, например, использовал. порт 8000. Убедитесь, что ваш локальный сервер прослушивает порт 80.

0 голосов
/ 06 января 2019

На момент написания, установка Тип приложения на Установленное приложение и затем оставление Домена обратного вызова пустым приведет к ошибкам.

Что работает, так это настройка 127.0.0.1 в качестве домена обратного вызова для приложения. Это работает независимо от того, выбираете ли вы Веб-приложение или Установленное приложение в качестве Тип приложения . Тем не менее, Yahoo! не принимает URL-адреса обратного вызова с портами в нем, поэтому вы должны убедиться, что ваше приложение слушает порт 80 (или 443, если https) при локальном запуске.

Еще одним менее идеальным вариантом будет использование некоторого случайного несуществующего домена, такого как local.dev.env.com, в качестве Callback Domain , а затем редактирования файла хоста путем добавления этого:

127.0.0.1 local.dev.env.com

Это перенаправит все запросы на local.dev.env.com на 127.0.0.1.

...