invalid_client in google oauth2


88

Ich versuche, eine Webseite für das Hochladen von YouTube-Videos zu erstellen. Daher versuche ich, die Client-ID von der Google API-Konsole abzurufen. In der API-Konsole wird Folgendes angezeigt:

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

Wenn ich jedoch versuche, mein Konto unter der folgenden URL zu testen:

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%A 2F% 2Fwww.googleapis.com% 2Fauth% 2Fyoutube & response_type = code & access_type = offline

Es gibt das Ergebnis von invalid_client aus. Selbst wenn ich es auf einem oauth2-Spielplatz versuche, tritt der gleiche Fehler auf

Weiß also jemand, was passiert ist?


8
Ich habe festgestellt, dass die oauth2-Client-ID manchmal nicht funktioniert. Ich weiß nicht warum, aber wenn ich ein neues Konto eröffne und die Client-ID erneut erstelle, funktioniert es.
Bob

3
Bob hat recht, das Erstellen der Client-ID löst dieses Problem
Gabo Esquivel

11
Stellen Sie sicher, dass Sie beim Kopieren / Einfügen der Client-ID kein nachfolgendes Leerzeichen einfügen. Das hat den Trick für mich getan ...
andig

1
Für mich habe ich das Client-Geheimnis neu generiert und festgestellt, dass es funktioniert hat. Die API scheint immer noch instabil zu sein.
Muhammad Talal

Antworten:


113

Festlegen / Ändern Ihres Produktnamens Ich hatte dieses Problem, bis ich einen Produktnamen erstellt habe, der mit dem Projektnamen identisch ist.

Der Produktname kann im Abschnitt "Einverständnis" der Google Developers Console für Ihr Projekt festgelegt werden. Suchen Sie in der linken Navigation unter APIs & Auth und wählen Sie den Bildschirm Zustimmung. Sie müssen auch Ihre E-Mail-Adresse in das Feld über dem Produktnamen eingeben.


4
Danke!! Ich habe den Fehler "" Fehler: invalid_client erhalten. Der OAuth-Client wurde nicht gefunden. "Heute mehrere Stunden damit verschwendet, aber den Produktnamen gerade aktualisiert und hey-presto, Problem behoben. Dieser Fehler ist so irreführend.
IanB

2
Wie lautet der Produktname?
Hubert OG

4
Es ist im Zustimmungsbildschirm. Sie müssen das Feld 'PRODUKTNAME' ausfüllen
Foo L

2
Das hat funktioniert. Nur um kurz und knapp: sowohl ‚PRODUKTNAME‘ gesetzt und ‚E - MAIL - ADRESSE‘ Felder aus .
b_archer

2
Vielen Dank! Rettete meinen Tag! Und ich muss sagen, von allen sozialen Anbietern hat Google die schlechteren Dokumente und die schlechteste Benutzeroberfläche. Es ist so überwältigend und verwirrend zusammen mit ihrer schlechten Navigation. Ich vergesse fast immer, wie man zur Projektkonfigurationsseite geht lol.
Tim und Struppi

69

Nach dem Kopieren der Werte von der Google Web-Benutzeroberfläche hatte ich ein Leerzeichen für:

  • client_id
  • secret

Und am Anfang und am Ende für beide.


2
Dieses Problem besteht weiterhin: P
Abhinay

1
Unglaublich, selbst wenn Sie in der API-Konsole auf die Schaltfläche "Kopieren" klicken ... Sie würden denken, der Entwicklerbereich von Google wäre Whitespace-empfindlich!
Reisclef

Unglaublich auch hier. Löschen Sie diese zusätzlichen Leerzeichen auf beiden Seiten der Zeichenfolge. Wenn Sie dann alles befolgen, was hier gesagt wurde und noch nichts funktioniert, löschen Sie die App / das Projekt und erstellen Sie es erneut, da möglicherweise Caching-Probleme auftreten.
Truthadjustr

1
Ja, das Problem besteht immer noch !!! Heiliger Strohsack. Ich habe ein Leerzeichen weggelassen und es erst wieder gesehen. Vielen Dank.
LukasS

1
verflixt! Ich habe das Leerzeichen am Ende gesehen und entfernt, aber am Anfang nicht nach dem Leerzeichen gesucht.
Sulabh

41

Schneiden Sie den führenden und nachfolgenden Leerraum sowohl vom client_idals auch vom client_secret. Die Google-Schaltfläche zum Kopieren erledigt dies nicht für Sie.

Geben Sie hier die Bildbeschreibung ein

Legen Sie sowohl die E-Mail-Adresse als auch den Produktnamen für den OAuth-Zustimmungsbildschirm fest.

Geben Sie hier die Bildbeschreibung ein


3
In einer solchen Antwort sollten Sie Ihr Kundengeheimnis wahrscheinlich nicht preisgeben.
Fernando

1
@ Fernando Es ist ein Wegwerfkonto.
Shaun Luttin

Puh. Hatte mich dort Sorgen gemacht Shaun: D
Fernando

3
Wie bist du zu diesem Bildschirm gekommen?
Anthony Kong

2
"Konto wegwerfen" - nicht für Google, das Sie verfolgt und alle Konten bündelt, die Sie jemals für "zugeordnete Konten" verwendet haben. Und sobald Google eines der Konten sperrt, wird das gesamte Paket blockiert. Suchen Sie einfach auf Reddit nach "Google Developer-Konto beendet" .
Alexander Farber

16

Durch Festlegen der E-Mail-Adresse und des Produktnamens im Zustimmungsbildschirm der Google-Entwicklerkonsole wird der Fehler "Fehler: invalid_client. Der OAuth-Client wurde nicht gefunden" behoben. für mich.


9

Ich hatte .apps.googleusercontent.com zweimal in meiner ID.

Es war ein Copy & Paste-Problem "Ihre ID HIER" .apps.googleusercontent.com


5
Meins war an beiden Enden noch ein Leerzeichen: /
Christian

Danke Chris. Es hat mir geholfen.
Kiran Pawar

7

In diesem Thread habe ich meine Antwort gefunden.

  1. Ich ging zur Google-Konsole,
  2. Generieren Sie ein neues Projekt, das aktualisiert wurde, da in meinem Fall die Seite nach dem Erstellen nicht neu geladen wurde
  3. neues Projekt auswählen
  4. Erstellen Sie eine Client-ID
  5. Verwenden Sie es für das, was Sie brauchen

danke Jungs: D.


6

invalid_client kann auch einfach bedeuten, dass Ihre Client-ID und Ihr Client-Geheimnis beim Erstellen Ihres Oauth2-Objekts falsch sind.


5

In meinem Fall stellte sich heraus, dass dies etwas anderes war, nämlich dass mein Code eine Umgebungsvariable verwendete, die nicht richtig eingestellt worden war (und dummerweise nicht von meinem Code überprüft wurde). Das Einstellen, erneutes Kompilieren von Assets und das Neustarten der App haben den Trick getan.


1
Hier gilt das gleiche; Ich hatte es eingestellt, aber vergessen, mein Terminal neu zu starten
quicklikerabbit

5

Wenn Sie der Dokumentation folgen, finden Sie auf dieser Seite https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

du wirst sehen

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

Aber es ist falsch. Es sollte sein

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

Das Problem ist, dass ".apps.googleusercontent.com" trotzdem hinzugefügt wird. Wenn Sie dies wie in der Dokumentation angegeben tun, erhalten Sie zweimal ".apps.googleusercontent.com"


Vielen Dank. Das Ändern, wie Sie vorgeschlagen haben, hat den Trick getan.
Pavan Dittakavi

4

Ich habe dieses Problem gelöst, indem ich unnötige Anführungszeichen aus meinen clientID- und clientSecret-Werten entfernt habe.


Sie Sir / Maam sind eine Legende! Ich habe die Anführungszeichen aus meinen Heroku-Umgebungsvariablen entfernt.
Grabury

2

Hat der Fehler auch gemeldet, dass ein Anwendungsname fehlt? Ich hatte dieses Problem, bis ich im Dialogfeld "Projekteinstellungen" einen Projektnamen (z. B. "Projekt X") erstellt habe.


2

Wahrscheinlich sind alte Anmeldeinformationen ungültig

siehe die Antwort unten

Stackoverflow-Antwort

oder Kurznamen können funktionieren

Siehe die Antwort unter Stackoverflow-Antwort

oder Produktname wie Projektname wie bereits beantwortet

zuweilen kann man zusätzlichen Platz in die

Überprüfen Sie diese Zeile zweimal, damit Sie zur richtigen URL weitergeleitet werden


1

Ich habe mein Problem mit Trimmen gelöst:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],

0

Überprüfen Sie Ihren Projektnamen in der Google APIs-Konsole. Sie wählen ein anderes Projekt, das Sie erstellt haben. Ich war der gleiche Fehler. Mein Fehler war die Wahl eines anderen Projekts.


0

Bei Anmeldeinformationen Anforderungen von diesen HTTP-Verweisen (Websites) akzeptieren (optional) Verwenden Sie Sternchen für Platzhalter. Wenn Sie dieses Feld leer lassen, werden Anfragen von jedem Überweiser angenommen. Stellen Sie sicher, dass Sie Überweiser hinzufügen, bevor Sie diesen Schlüssel in der Produktion verwenden. Hinzufügen . (Stern Punkt Stern). Es funktioniert gut für mich


0

Ich hatte versehentlich einen Wert im Client Secret-Teil der URL, aber Google Credential benötigt kein Client Secret für Android OAuth 2-Client-IDs. Den Wert in der URL einfach leer zu lassen, hat mir geholfen.


0

Schritte, die für mich funktioniert haben:

  1. Löschen Sie Anmeldeinformationen, die für Sie nicht funktionieren
  2. Erstellen Sie neue Anmeldeinformationen mit einem NAMEN
  3. Geben Sie denselben Namen auf Ihrem OAuth-Zustimmungsbildschirm ein
  4. Geben Sie die E-Mail-Adresse auf dem OAuth-Zustimmungsbildschirm ein

Der Name sollte genau gleich sein.


0

Eine andere Sache zu überprüfen:

Wenn Sie die GoogleAPIs mit NuGet in eine .NET-App installieren, wird ein neuer Satz von Dummy-Werten in Ihre * .config-Datei eingefügt.

Überprüfen Sie, ob noch Originalwerte vorhanden sind, und entfernen Sie Dummy-Einträge.


0

Keines der folgenden Probleme war mein Problem - ich habe dieses Problem gelöst, indem ich ein Inkognito-Fenster geöffnet habe. Irgendwo wurde offensichtlich etwas zwischengespeichert, es half nichts, die Einstellungen des Authentifizierungsclients zu ändern, und es gab nie nachgestellte oder führende Leerzeichen in den Konfigurationswerten.


0

Das Löschen der Kunden-ID und das mehrmalige Erstellen einer neuen ID hat bei mir funktioniert.


0

Meins hat nicht funktioniert, weil ich es über eine Schaltfläche aus der Dokumentation erstellt habe. Ich ging erneut zum Projekt und erstellte eine weitere OAuthClientID. Es funktionierte. Ja, achten Sie auch auf die zusätzlichen Leerzeichen rechts und links.


0

Um optimale Ergebnisse zu erzielen, stellen Sie sicher, dass Sie die vollständigen Details wie folgt haben:

{"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"]}

Diese Daten können jederzeit als JSON von https://console.developers.google.com/apis/credentials/oauthclient/ heruntergeladen werden.


0

Wenn Sie sich in Meteor JS befinden, müssen Sie stattdessen clientId appId verwenden :

Da Facebook AppId und Google ClientId verwendet.

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

Ich habe einige Stunden damit verbracht, das zu realisieren.


0

Ich wünschte, ich hätte diesen Beitrag schon einmal gesehen, denn es gibt eine Menge Dinge, die ich herausfinden musste. Damit kann viel schief gehen. Hier ist ein weiteres Problem, das ich hatte:

Wenn Sie die autorisierten Javascript-Ursprünge oder autorisierten Umleitungs-URIs angeben, stellen Sie sicher, dass Sie Ihre Domain mit und ohne www einschließen. Also https://google.com und https://www.google.com

Außerdem hatte ich ein Anwendungslogo hochgeladen. Aus diesem Grund erforderte der Zustimmungsbildschirm eine Überprüfung ... die ewig dauert. Laden Sie kein Anwendungslogo hoch und seien Sie nicht sehr geduldig.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.