Ошибка Google OAuth 2.0 redirect_uri_mismatch

  1. Я создал Google OAuth 2.0 ClientID и secret в консоли разработчика Google.

  2. После этого я провел тестирование на игровой площадке Google OAuth (https://developers.google.com/oauthplayground). и зарегистрированные ClientID и secret, уже созданные выше и примененные к меню настроек игровой площадки Google OAuth 2.0.

  3. Некоторые люди говорят, что после создания ClientID/secret им нужно некоторое время для тестирования. Итак, через два дня я попытался протестировать в тех же условиях, но ошибка все та же redirect_uri_mismatch.

Как я могу это решить?


person sysmoon    schedule 20.01.2014    source источник
comment
ну они совпадают? символ за символом, включая протокол и конечные косые черты? Иногда консоль API нуждается в пинке, поэтому попробуйте внести изменения (например, добавить второй URL-адрес перенаправления).   -  person pinoyyid    schedule 20.01.2014
comment
Также проверьте субдомен. Мне не хватало www.   -  person Joe Flynn    schedule 11.09.2014


Ответы (7)


Всего лишь наличие «/» в конце вашего uri и отсутствие того же «/» в конце вашего кода приведет к его отбрасыванию.

person RAW    schedule 28.01.2014

Ваши site URL и Authorized redirect URIs в консоли разработчика должны точно совпадать.

Такая ошибка возникает, если один URL-адрес имеет www (http://www.example.com), а другой URL-адрес — non-www (http://example.com).

Другие распространенные несоответствия URI:

  • Использование http:// в URI авторизованного перенаправления и https:// в качестве фактического URL-адреса или наоборот
  • Использование завершающей косой черты (http://example.com/) в URI авторизованного перенаправления и отсутствие использования завершающей косой черты (http://example.com) в качестве фактического URL-адреса или наоборот

Вот пошаговая процедура (со снимками экрана) для обновления URI авторизованного перенаправления в консоли разработчика Google (для тех, кому, как и мне, было трудно попасть на эту страницу).

  1. Перейдите на страницу https://console.developers.google.com.

  2. Выберите свой проект

Выберите свой проект

  1. Нажмите на значок меню

Нажмите на значок меню

  1. Нажмите на API Manager меню

Выбрать меню диспетчера API

  1. Нажмите на меню Credentials. А под OAuth 2.0 Client IDs вы найдете имя вашего клиента. В моем случае это Web Client 1. Нажмите на нее, и появится всплывающее окно, в котором вы можете изменить авторизованный источник Javascript и авторизованный URI перенаправления.

«Выбрать

Вот статья Google о создании проекта и идентификатора клиента.

person Mukesh Chapagain    schedule 25.12.2015

Оно должно точно совпадать с тем, что вы указали на console.developers.com.

В моем случае я пропустил www в URL.

Например: вы указали http://www.google.com, но в console.developers.com вы указали http://google.com

Все равно выдаст ошибку. Так что должно быть точное совпадение.

person A J    schedule 21.07.2015

URI перенаправления (на который возвращается ответ OAuth) должен быть зарегистрирован в консоли API Google, и ошибка указывает на то, что вы этого не сделали или сделали неправильно.

Перейдите в консоль вашего проекта и посмотрите в разделе «Доступ к API». Там вы должны увидеть свой идентификатор и секрет клиента, а также список URI перенаправления. Если нужного URI нет в списке, щелкните изменить настройки и добавьте URI в список.

person DaImTo    schedule 20.01.2014
comment
в новой консоли Google Cloud я не вижу URL-адресов перенаправления даже в одном месте для их добавления - person Gabriel Anderson; 17.02.2014
comment
API и авторизация ›› Учетные данные. В разделе OAuth щелкните Изменить настройки. Второе поле — URI перенаправления. - person derpface; 09.05.2014
comment
@derpface нет настроек редактирования на последней консоли (сентябрь 2015 г.) - person Dan; 19.09.2015
comment
@Dan Имя идентификатора клиента OAuth 2.0 является ссылкой. Нажмите на нее, и вы попадете на экран редактирования. Заставляет задуматься, слышали ли когда-нибудь специалисты по пользовательскому интерфейсу в Google о принципе наименьшего удивления. (сентябрь 2015 г.) - person Pauli Price; 30.09.2015
comment
У меня та же проблема, и даже когда я нажимаю на идентификатор клиента, просто открывается экран с идентификатором клиента и секретным ключом, но нет места для добавления URL-адресов перенаправления. - person Steve Trombley; 09.10.2015
comment
Перейдите к APIs & authCredentials, а затем Add credentialsOAuth 2.0 Client ID, а затем специально выберите Web application, и тогда у него должны быть места для Authorized redirect URIs. Мой старый был типа other и не имел Authorized redirect URIs. - person Evan Siroky; 03.11.2015

Я продолжал получать ту же ошибку, пока не понял, что мне нужно поместить «signin-google» в конце настройки перенаправления в консоли API Google, например (т.е. НЕ http://www.example.org/api):

http://www.example.org/api/signin-google
person smoore4    schedule 31.08.2015

(Magento 1.*), если вы используете расширение inchoo Social Connect Magento, то:

  • Укажите ниже URL-адрес в своем приложении Google (OAuth 2.0 идентификаторы клиентов):
    1. Authorized Redirect URIs: http://www.example.com/socialconnect/google/connect/
    1. Authorized JavaScript Origins: http://www.example.com

Не забудьте заменить http://www.example.com на свой домен

person Afjal khan    schedule 29.07.2019

Убедитесь, что в вашем google-client-api значение учетных данных в этом поле соответствует тому, что вы получили от Консоль Google API:

$client->setClientId('xxx.apps.googleusercontent.com');
$client->setClientSecret('xxx');
$client->setRedirectUri('http://example.com/oauth2callback');
$client->setDeveloperKey('xx');

Это может произойти, если значение setRedirectUri отличается от того, которое вы установили в консоли Google API.

person CK Tan    schedule 21.01.2014