invalid_client dans google oauth2

87

J'essaie de créer une page Web pour le téléchargement de vidéos sur youtube, par conséquent, j'essaie d'obtenir l'ID client de la console google api, et dans la console api, cela montre quelque chose comme ceci:

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

Cependant, lorsque j'essaye de tester mon compte en utilisant l'URL suivante:

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 = hors ligne

Il donne le résultat de invalid_client. Même lorsque je l'essaye sur le terrain de jeu oauth2, le même échec se produit

Alors tout le monde sait ce qui se passe?

Bob
la source
8
J'ai trouvé que parfois l'ID client oauth2 ne fonctionne pas. Je ne sais pas pourquoi, mais lorsque j'ouvre un nouveau compte et que je crée à nouveau l'identifiant client, cela fonctionne.
Bob
3
Bob a raison, la création de l'ID client résout ce problème
Gabo Esquivel
11
Assurez-vous que lorsque vous copiez / collez l'ID client, vous n'incluez pas d'espace de fin. Cela a fait l'affaire pour moi ...
andig
1
pour moi, j'ai régénéré le secret client et j'utilise qu'il a fonctionné. Il semble que l'API soit toujours instable.
Muhammad Talal

Réponses:

113

Définissez / modifiez le nom de votre produit, j'ai eu ce problème jusqu'à ce que je crée un nom de produit identique au nom du projet.

Le nom du produit peut être défini dans la section de l'écran de consentement de la Google Developers Console pour votre projet. Regardez sous API et authentification dans la navigation de gauche et sélectionnez Écran de consentement. Vous devez également définir votre adresse e-mail dans la case au-dessus du nom du produit.

Jojay
la source
4
Je vous remercie!! J'obtenais l'erreur "" Erreur: invalid_client. Le client OAuth n'a pas été trouvé. "
J'ai perdu
2
Quel est le nom du produit?
Hubert OG
4
C'est dans l'écran de consentement. Vous devez remplir le champ «NOM DU PRODUIT»
Foo L
2
Cela a fonctionné. Pour être succinct, définissez les champs " NOM DU PRODUIT" ET "ADRESSE EMAIL".
b_archer
2
Merci! J'ai sauvé ma journée! Et je dois dire que de tous les fournisseurs sociaux, Google a les pires documents et la pire interface utilisateur. C'est tellement accablant et déroutant avec leur mauvaise navigation. J'oublie presque toujours comment aller à la page de configuration du projet lol.
tintinboss
69

Après avoir copié les valeurs de l'interface utilisateur Web de Google, j'avais un espace vide pour:

  • client_id
  • secret

Et au DÉBUT et à la FIN pour les deux.

Raël Gugelmin Cunha
la source
2
Ce problème persiste toujours: P
Abhinay
1
Incroyable, même en cliquant sur le bouton "copier" dans la console API ... On pourrait penser que la zone des développeurs de Google serait sensible aux espaces!
Reisclef
Incroyable aussi ici. Supprimez ces espaces supplémentaires des deux côtés de la chaîne. Ensuite, si après avoir suivi tout ce qui a été dit ici et que rien ne fonctionne toujours, supprimez l'application / le projet et recréez-le à nouveau car il pourrait y avoir des problèmes de mise en cache.
eigenfield
1
Oui, le problème existe toujours !!! Putain de merde. J'ai omis un espace blanc et je ne l'ai pas vu avant de le revérifier. Merci.
LukasS
1
Zut! J'ai vu l'espace à la fin et l'ai enlevé mais je n'ai pas vérifié l'espace au début.
sulabh
41

Découpez les espaces blancs de début et de fin à la fois de client_idet client_secret. Le bouton de copie de Google ne le fait pas pour vous.

entrez la description de l'image ici

Définissez les champs d'adresse e-mail et de nom de produit pour l'écran de consentement OAuth.

entrez la description de l'image ici

Shaun Luttin
la source
3
Vous ne devriez probablement pas laisser votre client secret exposé dans une réponse comme celle-là.
Fernando
1
@Fernando C'est un compte jetable.
Shaun Luttin
Phew. Je
Fernando
3
Comment êtes-vous arrivé à cet écran?
Anthony Kong
2
"Compte à jeter" - pas pour Google, qui vous suit et regroupe tous les comptes que vous avez déjà utilisés avec des "comptes associés". Et une fois que Google interdit l'un des comptes, l'ensemble du paquet est bloqué. Recherchez simplement "Compte de développeur Google terminé" sur Reddit .
Alexander Farber
16

La définition de l'adresse e-mail et du nom du produit dans l'écran de consentement de la console des développeurs Google résout l'erreur "Erreur: client_valide. Le client OAuth est introuvable." pour moi.

S.Roshanth
la source
9

J'avais .apps.googleusercontent.com deux fois dans mon identifiant.

C'était un problème de copier-coller "Votre ID ICI" .apps.googleusercontent.com

Chris Carr
la source
5
Le mien était un espace vide à chaque extrémité: /
Christian
Merci Chris. Ça m'a aidé.
Kiran Pawar
7

dans ce fil, j'ai trouvé ma réponse.

  1. Je suis allé sur google console,
  2. générer un nouveau projet, actualiser, car dans mon cas après la création la page ne s'est pas rechargée
  3. sélectionner un nouveau projet
  4. créer un identifiant client
  5. utilisez-le pour ce dont vous avez besoin

merci les gars: D

Pedro Romão
la source
6

invalid_client peut aussi simplement signifier que votre ID client et votre secret client sont incorrects lorsque vous créez votre objet Oauth2.

jdcaron
la source
5

Dans mon cas, cela s'est avéré être autre chose, à savoir que mon code utilisait une variable d'environnement qui n'avait pas été définie correctement (et qui n'était stupidement pas vérifiée par mon code). Le configurer, recompiler les ressources et redémarrer l'application ont fait l'affaire.

Josh Diehl
la source
1
Pareil ici; Je l'avais configuré mais j'ai oublié de redémarrer mon terminal
quicklikerabbit
5

Si vous suivez la documentation, depuis cette page https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

tu verras

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

Mais c'est faux. Ça devrait être

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

Le problème est que le ".apps.googleusercontent.com" est ajouté de toute façon. Si vous le faites comme le dit la documentation, vous obtenez deux fois «.apps.googleusercontent.com»

Aaronvargas
la source
Merci beaucoup. Le changer comme vous l'avez suggéré a fait l'affaire.
Pavan Dittakavi
4

J'ai résolu ce problème en supprimant les citations inutiles de mes valeurs clientID et clientSecret.

OsoGrizz
la source
Vous monsieur / madame êtes une légende! J'ai supprimé les guillemets de mes variables d'environnement Heroku.
grabury
2

L'erreur a-t-elle également signalé qu'il manquait un nom d'application? J'ai eu ce problème jusqu'à ce que je crée un nom de projet (par exemple "Projet X") dans la boîte de dialogue des paramètres du projet.

random_stackoverflow_user
la source
2

les anciennes informations d'identification ne sont probablement pas valides

voir la réponse ci-dessous

réponse stackoverflow

ou les noms courts peuvent fonctionner

voir la réponse ci-dessous réponse stackoverflow

ou le nom du produit est identique au nom du projet comme déjà répondu

parfois, on peut inclure un espace supplémentaire dans le

vérifiez deux fois cette ligne pour être redirigé vers la bonne URL

Charles Dominique
la source
1

J'ai résolu mon problème avec l'assiette:

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

Vérifiez le nom de votre projet sur la console des API Google. vous choisissez un autre projet que vous avez créé. J'étais la même erreur. mon erreur a été de choisir un projet différent.

Dio Blando
la source
0

At Credentials Acceptez les demandes de ces référents HTTP (sites Web) (facultatif) Utilisez des astérisques pour les caractères génériques. Si vous laissez ce champ vide, les demandes de tout référent seront acceptées. Assurez-vous d'ajouter des référents avant d'utiliser cette clé en production. Ajouter . (étoile point étoile). Ça marche bien pour moi

HuyLe
la source
0

J'ai accidentellement eu une valeur dans la partie Client Secret de l'URL, mais Google Credential n'a pas besoin d'un Client Secret pour les ID client Android OAuth 2. Le simple fait de laisser la valeur vide dans l'URL a fait l'affaire pour moi.

Jason Washo
la source
0

Étapes qui ont fonctionné pour moi:

  1. Supprimer les informations d'identification qui ne fonctionnent pas pour vous
  2. Créez de nouveaux identifiants avec certains NAME
  3. Saisissez le même NAME sur votre écran de consentement OAuth
  4. Remplissez l'adresse e-mail sur l'écran de consentement OAuth

Le nom doit être exactement le même.

syntagme
la source
0

Une autre chose à vérifier:

Lorsque vous installez les GoogleAPI dans une application .Net avec NuGet, il injectera un nouvel ensemble de valeurs factices dans votre fichier * .config.

Vérifiez que toutes les valeurs d'origine sont toujours en place et supprimez les entrées factices.

Iain Ballard
la source
0

Aucun des problèmes suivants n'était mon problème - je l'ai résolu en ouvrant une fenêtre de navigation privée. Quelque chose était évidemment mis en cache quelque part, aucune modification des paramètres du client d'authentification n'a aidé et il n'y avait jamais d'espaces de fin ou de début dans les valeurs de configuration.

cloakedninjas
la source
0

La suppression de l'identifiant client et la création d'un nouveau numéro plusieurs fois ont fonctionné pour moi.

Haris ur Rehman
la source
0

Le mien n'a pas fonctionné car je l'ai créé à partir d'un bouton de la documentation. Je suis retourné au projet et j'ai créé un autre OAuthClientID. Ça a marché. Oui, faites attention aux espaces supplémentaires à droite et à gauche également.

Hemant Sharma
la source
0

Pour de meilleurs résultats, assurez-vous d'avoir les détails complets comme suit:

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

Ces données sont toujours disponibles au téléchargement au format JSON à partir de https://console.developers.google.com/apis/credentials/oauthclient/

Abhay Shiro
la source
0

Si vous êtes dans Meteor JS, vous devez utiliser clientId à la place appId :

Puisque Facebook utilise appId et google clientId.

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

J'ai passé quelques heures à m'en rendre compte.

Ivan Cabrera
la source
0

J'aurais aimé voir ce post avant, car il y a beaucoup de choses que j'ai dû découvrir par essais et erreurs. Beaucoup de choses peuvent mal tourner. Voici un autre problème que j'ai eu:

Lorsque vous spécifiez les origines Javascript autorisées ou les URI de redirection autorisés, assurez-vous d'inclure votre domaine avec et sans www. Donc https://google.com et https://www.google.com

J'avais également téléchargé un logo d'application. Pour cette raison, l'écran de consentement a nécessité un examen ... ce qui prend une éternité. Ne téléchargez pas de logo d'application ou soyez très patient.

eliud
la source