Google: отказано в разрешении на создание подсказки для входа в систему для целевого домена НЕ на локальном хосте

Я пытаюсь войти в систему Google и получаю сообщение об ошибке:

Отказано в разрешении на создание подсказки для входа в целевой домен

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

В частности, я включил URL-адрес сервера в авторизованные источники Javascript, как показано на следующем изображении: < img src = "https://i.stack.imgur.com/NGEHe.png" alt = "Истоки Javascript">

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

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


person jimboweb    schedule 15.03.2016    source источник
comment
Я использовал ngrok и работает нормально. Мой бэкэнд - Django и 127.0.0.1:8000 или localhost   -  person Alejandro Reyna    schedule 12.08.2019


Ответы (8)


Хорошо, я понял это. Я использовал IP-адрес (например, "http://175.132.64.120") для uri перенаправления, так как это был тестовый сайт на live server, и Google принимает только фактические URL-адреса (например, "http://mycompany.com" или "http://localhost") как uris перенаправления.

Что, вы знаете, ОНИ МОГУТ СКАЗАТЬ ГДЕ-НИБУДЬ В ДОКУМЕНТАЦИИ, но неважно.

person jimboweb    schedule 22.03.2016
comment
Текст над полем URI авторизованного перенаправления говорит, что не может содержать фрагменты URL или относительные пути. Не может быть публичным IP-адресом. - person Nick; 10.06.2016
comment
Это немного раздражает, и я действительно не вижу в этом смысла. У нас пока нет доменного имени для нашего тестового / промежуточного сервера ... и его установка делает сервер более доступным для обнаружения и уязвимым, imho. - person Efrain; 13.07.2016
comment
Я также столкнулся с той же проблемой. Я ничего не помещал в авторизованные urI редиректа. @jimboweb, не могли бы вы вставить раствор? - person Shekhar Kumar; 09.12.2016
comment
Шекхар, нет решения для вставки, кроме использования uri (http://something.com) вместо IP-адреса (http://123.45.678) в redirectURI или Javascript Origins, в зависимости от того, для чего вам это нужно. Они не разрешают IP-адреса, и с этим ничего нельзя поделать. Если вы отлаживаете его на локальном компьютере, просто используйте http://localhost:<port number> - person jimboweb; 10.12.2016
comment
Просто добавить, что 127.0.0.1 тоже запрещено - person hdvianna; 17.09.2017
comment
Честно говоря, пользовательский интерфейс для этого и документация ужасно плохи для такой компании, как Google. ДЕЙСТВИТЕЛЬНО сложно настроить это, даже если вы знаете, что делаете. - person Everett; 30.05.2019
comment
Хорошая работа над этим. У Google действительно плохая документация, и всякий раз, когда мне приходится выполнять одну из их интеграций, я сразу знаю, что меня ждет кошмар. - person xZero; 30.03.2021

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

При развертывании службы Google OAuth в частной сети, а именно некоторых IP-адресов, к которым нельзя получить доступ через Интернет, вы должны использовать волшебную службу DNS, например xip.io, который предоставит вам URL-адрес, который ваш браузер преобразует в ваш внутренний IP-адрес. Видите ли, Google должен иметь возможность подключиться к вашему авторизованному источнику через ваш браузер, поэтому настройка localhost работает, если вы обслуживаете его на своем компьютере, но не будет работать, когда вы развертываете за пределами Интернета, как в VPN, интранет или с туннелем.

Итак, шаги:

  1. получите свой IP-адрес, тот, на котором вы развертываете, и это не общественное достояние, допустим, это 10.0.0.1 в качестве примера.
  2. добавьте http://10.0.0.1.xip.io в авторизованные источники Javascript в консоли разработчика Google.
  3. откройте свой сайт, посетив http://10.0.0.1.xip.io
  4. при необходимости очистите кеш для сайта.
  5. Войдите в систему с помощью Google и вуаля.

Я получил это решение, используя этот ответ в другом вопросе.

person fixmycode    schedule 28.10.2017
comment
Отметьте этот ответ как принятый! Этот парень избавил меня от трех дней головной боли: на моем рабочем компьютере нет прав администратора, я не могу ничего устанавливать или редактировать (а тем более писать hosts файл), а я за сетью своей компании, поэтому я не мог просто добавить внутренний IP-адрес моей машины. Спасибо! - person elmazzun; 23.01.2018
comment
Это подходящий ответ для большинства случаев. - person x86-64; 10.10.2018
comment
Отличный ответ, и теперь я знаю о xip.io - я бы отредактировал ответ, чтобы исправить ссылку (www. * в настоящее время не работает) но на данный момент вы не можете редактировать менее 6 символов :-) - person Henning Michael Møller Just; 28.01.2019
comment
Этот ответ спас мою задницу! Спасибо, Пабло. - person netishix; 27.09.2019
comment
Отличное решение. Обычно мне приходится запускать собственный DNS-сервер для частного диапазона IP-адресов. Это решает множество проблем. - person Shi B.; 05.08.2020
comment
Я попробовал это, и он сказал, что этот сайт недоступен. - person GeneCode; 16.11.2020
comment
Как мне сделать это с конкретным портом, например, 8080? - person momion; 26.11.2020
comment
@momion, поскольку это влияет только на записи DNS, я думаю, что порты не имеют значения, но я не могу этого утверждать. может попробовать yourip.xip.io:8080, следует перевести на yourip: 8080 - person fixmycode; 26.11.2020
comment
Я пробовал это, и это не работает, и я продолжаю получать ошибку oauth, есть идеи, что происходит? - person momion; 26.11.2020

Если вы используете http://127.0.0.1/projects/testplateform, измените его на http://localhost/projects/testplateform, он будет работать нормально.

person Tgold brain    schedule 26.01.2018

Если вы тестируете на своей машине (локально). тогда не используйте IP-адрес (например, http://127.0.0.1:8888) в конфигурации идентификатора клиента, но вместо этого используйте локальный хост, и он должен работать

Пример: http://localhost:8888

person Qais Ammari    schedule 23.01.2017
comment
Это не решает проблемы :( - person Prakhar Singh; 04.02.2018
comment
Не знаю причины, но у меня это работает. Большое спасибо - person Linh; 19.06.2018

Просто столкнулся с этой же проблемой на внешнем тестовом сервере, еще без записи DNS. Если у вас есть разрешение на локальном компьютере, просто отредактируйте свой /etc/hosts файл:

175.132.64.120  www.jimboweb.com

И используйте http://www.jimboweb.com в качестве авторизованного домена.

person Eric Bridger    schedule 26.04.2017

Чтобы разрешить использование IP-адреса в качестве допустимого источника javascript, сначала добавьте запись в файл / etc / hosts

10.0.0.1 mydevserver.com

а затем добавьте этот домен mydeveserver.com в Авторизованные источники Javascript. Если вы используете нестандартный порт, укажите его вместе со своим доменом в Авторизованные источники Javascript.

введите описание изображения здесь

Примечание: удалите кеш, и все заработает.

person Abdul Mannan    schedule 15.11.2017

У меня есть сервер в частной сети, ip 172.16.X.X Проблема была решена с помощью приложения перенаправления ssh-порта на мой порт localhost. Теперь я могу использовать развернутое приложение с просмотром google oauth на localhost.

ssh -N -L8081:localhost:8080 ${user}@${host}

Я также добавляю localhost:8081 в "Авторизованное перенаправление URI" и "Авторизованные источники JavaScript" в console.developers.google.com :

консоль разработчика Google

person yeagor    schedule 31.03.2019

установите xampp и запустите сервер apache, поместите свои файлы (index и co) в папку в каталоге xampp (c: \ xampp \ htdocs \ yourfolder). Введите это в URL-адрес вашего браузера - http://localhost/yourfolder/index.html

person O'seun Iyadi    schedule 01.10.2019