invalid_client в Google oauth2

87

Я пытаюсь создать веб-страницу для загрузки видео на YouTube, поэтому я пытаюсь получить идентификатор клиента из консоли api google, и в консоли api он показывает что-то вроде этого:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground

Однако, когда я пытаюсь проверить свою учетную запись, используя следующий URL-адрес:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = code & access_type = offline

Выдает результат invalid_client. Даже когда я пробую его на игровой площадке oauth2, происходит такой же сбой

Так кто-нибудь знает, что случилось?

Боб
источник
8
Я обнаружил, что иногда идентификатор клиента oauth2 не работает. Я не знаю почему, но когда я открываю новую учетную запись и снова создаю идентификатор клиента, это работает.
Боб
3
Боб прав, создание идентификатора клиента решает эту проблему
Габо Эскивель
11
Убедитесь, что при копировании / вставке идентификатора клиента вы не включаете конечный пробел. Это
помогло
1
Для меня я восстановил секрет клиента и использовал его. Кажется, что api все еще нестабильно.
Мухаммад Талал

Ответы:

113

Установите / измените название продукта, у меня была эта проблема, пока я не создал название продукта, такое же, как название проекта.

Название продукта можно указать в разделе экрана согласия Google Developers Console для вашего проекта. Посмотрите в разделе API и авторизация на левой панели навигации и выберите Экран согласия. Вам также необходимо указать свой адрес электронной почты в поле над названием продукта.

Jojay
источник
4
Спасибо!! Я получал ошибку "" Ошибка: invalid_client. Клиент OAuth не был найден «Wasted несколько часов сегодня на этом, но обновил название продукта только сейчас и эй-вуаля, проблема фиксированной Это ошибка.. Так что вводит в заблуждение.
IanB
2
Какое название у продукта?
Hubert OG
4
Это на экране согласия. Вы должны заполнить поле «НАЗВАНИЕ ПРОДУКТА»
Foo L
2
Это сработало. Для краткости: установите оба поля «НАЗВАНИЕ ПРОДУКТА» И «АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ».
b_archer
2
Благодарность! Спас мой день! И я должен сказать, что из всех социальных сетей у Google худшие документы и худший интерфейс. Это так подавляюще и сбивает с толку вместе с их плохой навигацией. Я почти всегда забываю, как перейти на страницу конфигурации проекта lol.
tintinboss
69

После копирования значений из веб-интерфейса Google у меня было пустое место для:

  • client_id
  • secret

И в НАЧАЛЕ, и в КОНЦЕ для обоих.

Раэль Гугельмин Кунья
источник
2
Эта проблема все еще сохраняется: P
Abhinay
1
Невероятно, даже если нажать кнопку «копировать» в консоли API ... Можно подумать, что область разработчиков Google будет чувствительна к пробелам!
Reisclef
Здесь тоже невероятно. Удалите лишние пробелы с обеих сторон строки. Затем, если после выполнения всего сказанного здесь ничего не работает, удалите приложение / проект и заново создайте его, потому что могут возникнуть проблемы с кешированием.
eigenfield 07
1
Да, проблема все еще существует !!! Черт возьми. Я пропустил один пробел и не видел его до повторной проверки. Спасибо.
LukasS
1
штопать! Я увидел пробел в конце и удалил его, но не проверял наличие пробела в начале.
sulabh
41

Обрежьте начальное и конечное белое пространство от client_idи client_secret. Кнопка копирования Google не делает этого за вас.

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

Задайте поля адреса электронной почты и названия продукта для экрана согласия OAuth.

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

Шон Латтин
источник
3
Вам, вероятно, не следует оставлять секрет своего клиента раскрытым в таком ответе.
Фернандо
1
@Fernando Это одноразовый аккаунт.
Shaun Luttin 05
Фух. Беспокоился ли я там, Шон: D
Фернандо
3
Как вы попали на этот экран?
Энтони Конг,
2
«Выбросить учетную запись» - не для Google, который отслеживает вас и объединяет все учетные записи, которые вы когда-либо использовали, в «связанные учетные записи». И как только Google банит одну из учетных записей - блокируется вся связка. Просто выполните поиск по запросу «Учетная запись разработчика Google заблокирована» на Reddit .
Александр Фарбер
16

Установка АДРЕСА ЭЛЕКТРОННОЙ ПОЧТЫ и НАЗВАНИЯ ПРОДУКТА на экране согласия консоли разработчика Google устраняет ошибку «Ошибка: invalid_client. Клиент OAuth не найден». для меня.

С.Рошант
источник
9

В моем идентификаторе дважды было .apps.googleusercontent.com.

Это была проблема копирования и вставки "Ваш идентификатор ЗДЕСЬ" .apps.googleusercontent.com

Крис Карр
источник
5
У меня было пустое место с обоих концов: /
Christian
Спасибо, Крис. Мне это помогло.
Kiran Pawar
7

в этой теме я нашел свой ответ.

  1. Я зашел в консоль google,
  2. создать новый проект, обновить его, потому что в моем случае после создания страница не перезагружалась
  3. выберите новый проект
  4. создать идентификатор клиента
  5. используйте это для того, что вам нужно

спасибо, ребята: D

Педро Ромао
источник
6

invalid_client также может просто означать, что ваш идентификатор клиента и секрет клиента неверны при создании объекта Oauth2.

jdcaron
источник
5

В моем случае это оказалось чем-то другим, а именно в моем коде использовалась переменная среды, которая не была установлена ​​должным образом (и по глупости не проверялась моим кодом). Его установка, перекомпиляция ресурсов и перезапуск приложения сделали свое дело.

Джош Дил
источник
1
Тоже самое; Я установил его, но забыл перезапустить терминал
quicklikerabbit
5

Если вы следуете документации, с этой страницы https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

ты увидишь

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Но это неправильно. Должен быть

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">

Проблема в том, что .apps.googleusercontent.com все равно добавляется. Если вы сделаете это так, как указано в документации, вы дважды получите ".apps.googleusercontent.com".

Ааронваргас
источник
Большое спасибо. Изменение, как вы предложили, помогло.
Паван Диттакави
4

Я решил это, удалив ненужные кавычки из значений clientID и clientSecret.

OsoGrizz
источник
Вы, сэр / мэм, легенда! Я удалил кавычки из переменных среды Heroku.
Grabury
2

Сообщается ли также об ошибке, что отсутствует имя приложения? У меня была эта проблема, пока я не создал имя проекта (например, «Проект X») в диалоговом окне настроек проекта.

random_stackoverflow_user
источник
2

вероятно старые учетные данные недействительны

см. ответ ниже

ответ stackoverflow

или короткие имена могут работать

см. ответ ниже ответ stackoverflow

или название продукта совпадает с названием проекта, на который уже был дан ответ

иногда можно добавить дополнительное место в

дважды проверьте эту строку, чтобы вы были перенаправлены на правильный URL

Чарльз Доминик
источник
1

Решил проблему с обрезкой:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],
парастоо амини
источник
0

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

Дио Бландо
источник
0

В учетных данных Принимайте запросы от этих HTTP-источников перехода (веб-сайтов) (необязательно). Используйте звездочки для подстановочных знаков. Если вы оставите это поле пустым, запросы будут приниматься от любого реферера. Обязательно добавьте рефереры, прежде чем использовать этот ключ в продакшене. Добавить . (звезда точка звезда). У меня отлично работает

HuyLe
источник
0

У меня случайно было значение в части URL-адреса Client Secret, но учетные данные Google не нуждаются в Client Secret для идентификаторов клиентов Android OAuth 2. Просто оставив значение пустым в URL-адресе, я помог.

Джейсон Вашо
источник
0

Шаги, которые сработали для меня:

  1. Удалите учетные данные, которые вам не подходят
  2. Создайте новые учетные данные с некоторым ИМЯ
  3. Введите то же ИМЯ на экране согласия OAuth.
  4. Введите адрес электронной почты на экране согласия OAuth.

Название должно быть точно таким же.

синтагма
источник
0

Еще кое-что проверить:

Когда вы устанавливаете GoogleAPI в приложение .Net с помощью NuGet, он вводит новый набор фиктивных значений в ваш файл * .config.

Убедитесь, что все исходные значения сохранены, и удалите фиктивные записи.

Иэн Баллард
источник
0

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

плащ
источник
0

У меня несколько раз сработало удаление идентификатора клиента и создание нового.

Харис ур Рехман
источник
0

Мой не работал, потому что я создал его с помощью кнопки из документации. Я снова зашел в проект и создал еще один OAuthClientID. Это сработало. Да, будьте осторожны с лишними пробелами справа и слева.

Хемант Шарма
источник
0

Для достижения наилучших результатов убедитесь, что у вас есть полная информация, а именно:

{"client_id":"282324738-4labcgdsd4nlh34885s2d34tmi.apps.googleusercontent.com","project_id":"abcd23ss-212808","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"23452-dfgdfgcdfgfd","redirect_uris":["http://localhost:6900/auth/google/callback"],"javascript_origins":["http://localhost:6900"]}

Эти данные всегда доступны для загрузки в формате JSON с https://console.developers.google.com/apis/credentials/oauthclient/.

Абхай Широ
источник
0

Если вы используете Meteor JS, вам нужно использовать clientId вместо appId :

Поскольку facebook использует appId и google clientId.

ServiceConfiguration.configurations.upsert({
    service: "google"
}, {
    $set: {
        clientId: process.env.OAUTH_GOOGLE_APP_ID,
        loginStyle: "popup",
        secret: process.env.OAUTH_GOOGLE_SECRET
    }
});

Я потратил несколько часов, чтобы осознать это.

Иван Кабрера
источник
0

Мне жаль, что я не видел этот пост раньше, потому что мне пришлось многое выяснить методом проб и ошибок. С этим может многое пойти не так. Вот еще одна проблема:

Когда вы указываете авторизованные источники Javascript или авторизованные URI перенаправления, обязательно укажите свой домен с www и без него. Итак, https://google.com и https://www.google.com

Также я загрузил логотип приложения. Из-за этого экран согласия требовал проверки ... которая длится вечно. Не загружайте логотип приложения или проявите терпение.

Элиуд
источник