Ошибка Google OAuth 2.0 redirect_uri_mismatch

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

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

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

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

Ответ 1

Как только у вас есть "/" в конце вашего uri и не имеет того же "/" в конце вашего кода, он его отключит.

Ответ 2

Консоль 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. Нажмите на значок меню

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

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

Выбрать меню менеджера API

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

Выбрать меню учетных данных

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

Ответ 3

Это должно быть точное соответствие тому, что вы дали в console.developers.com.

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

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

Он все равно выдает ошибку. Поэтому это должно быть точное совпадение.

Ответ 4

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

Перейдите в консоль для своего проекта и посмотрите в Access API. Вы должны увидеть свой идентификатор клиента и секрет там, а также список URI перенаправления. Если нужный URI отсутствует в списке, нажмите "Изменить настройки" и добавьте URI в список.

Ответ 5

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

http://www.example.org/api/signin-google

Ответ 6

Убедитесь, что в вашем 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.

Ответ 7

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

  • Установите ниже URL в вашем приложении Google (OAuth 2.0 идентификаторы клиентов):
    1. URI авторизованного перенаправления: http://www.example.com/socialconnect/google/connect/
    1. Разрешенные источники JavaScript: http://www.example.com

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