invalid_client in google oauth2


87

Provo a creare una pagina web per il caricamento di video su YouTube, quindi provo a ottenere l'ID client dalla console API di Google e nella console API mostra qualcosa del genere:

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

Tuttavia, quando provo a testare il mio account utilizzando il seguente 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

Fornisce il risultato di invalid_client. Anche quando lo provo su oauth2 playground, si verifica lo stesso errore

Quindi qualcuno sa cosa sta succedendo?


8
Ho scoperto che a volte l'id del client oauth2 non funziona. Non so perché, ma quando apro un nuovo account e creo di nuovo l'ID cliente, funziona.
Bob

3
Bob ha ragione, la creazione dell'ID client risolve questo problema
Gabo Esquivel

11
Assicurati di non includere uno spazio finale quando copi / incolli l'ID client. Questo ha funzionato per me ...
e il

1
per me, ho rigenerato il segreto del cliente e uso che ha funzionato. Sembra che l'API sia ancora instabile.
Muhammad Talal

Risposte:


113

Imposta / modifica il nome del tuo prodotto, ho avuto questo problema fino a quando non ho creato un nome del prodotto uguale al nome del progetto.

Il nome del prodotto può essere impostato nella sezione della schermata di consenso della Google Developers Console per il tuo progetto. Guarda sotto API e autenticazione nella barra di navigazione a sinistra e seleziona Schermata di consenso. È inoltre necessario impostare il proprio indirizzo e-mail nella casella sopra il nome del prodotto.


4
Grazie!! Ricevo l'errore "" Errore: invalid_client. Il client OAuth non è stato trovato "Wasted diverse ore oggi su questo, ma aggiornato il nome del prodotto in questo momento e hey-presto, problema risolto Tale errore è.. In modo fuorviante.
IanB

2
Qual è il nome del prodotto?
Hubert OG

4
È nella schermata di consenso. Devi compilare il campo "NOME PRODOTTO"
Foo L

2
Questo ha funzionato. Per essere sintetici: imposta entrambi i campi "NOME PRODOTTO" E "INDIRIZZO EMAIL".
b_archer

2
Grazie! Mi ha salvato la giornata! E devo dire che tra tutti i social provider Google ha i documenti peggiori e la peggiore interfaccia utente. È così travolgente e confuso insieme alla loro cattiva navigazione. Quasi sempre dimentico come andare alla pagina di configurazione del progetto lol.
tintinboss

69

Dopo aver copiato i valori dall'interfaccia utente web di Google, avevo uno spazio vuoto per:

  • client_id
  • secret

E all'INIZIO e alla FINE per entrambi.


2
Il problema persiste: P
Abhinay

1
Incredibile, anche quando si fa clic sul pulsante "copia" nella console API ... Si potrebbe pensare che l'area degli sviluppatori di Google sia sensibile agli spazi bianchi!
Reisclef

Incredibile anche qui. Elimina quegli spazi extra su entrambi i lati della stringa. Quindi se dopo aver seguito tutto ciò che è stato detto qui e nulla funziona ancora, elimina l'app / progetto e ricrealo di nuovo perché potrebbero esserci problemi di cache.
eigenfield

1
Sì, il problema esiste ancora !!! Santa merda. Ho omesso uno spazio bianco e non l'ho visto fino a quando non ho ricontrollato. Grazie.
LukasS

1
maledizione! Ho visto lo spazio alla fine e l'ho rimosso, ma non ho controllato lo spazio all'inizio.
sulabh

41

Taglia lo spazio bianco iniziale e finale da client_ide client_secret. Il pulsante di copia di Google non lo fa per te.

inserisci qui la descrizione dell'immagine

Imposta i campi dell'indirizzo e-mail e del nome del prodotto per la schermata di consenso OAuth.

inserisci qui la descrizione dell'immagine


3
Probabilmente non dovresti lasciare il segreto del tuo cliente esposto in una risposta del genere.
Fernando

1
@Fernando È un account usa e getta.
Shaun Luttin

Uff. Mi aveva preoccupato Shaun: D
Fernando

3
Come sei arrivato a questa schermata?
Anthony Kong

2
"Butta via account": non per Google, che ti tiene traccia e raggruppa tutti gli account che hai utilizzato in "account associati". E una volta che Google bandisce uno degli account, l'intero pacchetto viene bloccato. Basta cercare "Account sviluppatore Google terminato" su Reddit .
Alexander Farber

16

L'impostazione di INDIRIZZO EMAIL e NOME PRODOTTO nella schermata di consenso della Console per gli sviluppatori di Google risolve l'errore "Errore: invalid_client. Il client OAuth non è stato trovato". per me.


9

Avevo .apps.googleusercontent.com due volte nel mio ID.

Era un problema di copia e incolla "Your ID HERE" .apps.googleusercontent.com


5
Il mio era uno spazio vuoto lasciato su entrambe le estremità: /
Christian

Grazie Chris. Mi ha aiutato.
Kiran Pawar

7

in questo thread ho trovato la mia risposta.

  1. Sono andato su Google Console,
  2. generare un nuovo progetto, fatto refresh, perché nel mio caso dopo aver creato la pagina non si è ricaricata
  3. seleziona nuovo progetto
  4. creare un ID cliente
  5. usalo per quello che ti serve

grazie ragazzi: D


6

invalid_client può anche semplicemente significare che l'ID client e il segreto client sono sbagliati quando crei il tuo oggetto Oauth2.


5

Nel mio caso questo si è rivelato essere qualcos'altro, vale a dire che il mio codice utilizzava una variabile di ambiente che non era stata impostata correttamente (e stupidamente non è stata controllata dal mio codice). L'impostazione, la ricompilazione delle risorse e il riavvio dell'app hanno funzionato.


1
Anch'io; L'avevo impostato ma ho dimenticato di riavviare il mio terminale
quicklikerabbit

5

Se segui la documentazione, da questa pagina https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

vedrai

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

Ma è sbagliato. Dovrebbe essere

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

Il problema è che ".apps.googleusercontent.com" viene comunque aggiunto. Se lo fai come dice la documentazione, ottieni ".apps.googleusercontent.com" due volte


Molte grazie. Cambiarlo come hai suggerito ha funzionato.
Pavan Dittakavi

4

Ho risolto questo problema rimuovendo le virgolette non necessarie dai miei valori clientID e clientSecret.


Lei, signore / signora, è una leggenda! Ho rimosso le virgolette dalle mie variabili d'ambiente Heroku.
Grabury

2

L'errore ha anche segnalato che mancava il nome di un'applicazione? Ho avuto questo problema fino a quando non ho creato un nome di progetto (ad esempio "Progetto X") nella finestra di dialogo delle impostazioni del progetto.


2

probabilmente le vecchie credenziali non sono valide

vedere la risposta di seguito

risposta stackoverflow

o nomi brevi potrebbero funzionare

vedere la risposta di seguito stackoverflow

o il nome del prodotto uguale al nome del progetto a cui si è già risposto

a volte si può includere spazio extra nel file

controlla due volte questa riga in modo da essere reindirizzato all'URL corretto


1

Ho risolto il mio problema con il trim:

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

0

Controlla il nome del tuo progetto sulla console delle API di Google. scegli un altro progetto che hai creato. Sono stato lo stesso errore. il mio errore è stato scegliere un progetto diverso.


0

In Credentials Accetta le richieste da questi referrer HTTP (siti web) (Facoltativo) Utilizza gli asterischi per i caratteri jolly. Se lasci questo campo vuoto, le richieste verranno accettate da qualsiasi referrer. Assicurati di aggiungere referrer prima di utilizzare questa chiave nella produzione. Aggiungi . (stella punto stella). Funziona bene per me


0

Ho accidentalmente avuto un valore nella parte Segreto client dell'URL, ma le credenziali di Google non necessita di un segreto client per gli ID client OAuth 2 di Android. Lasciare semplicemente il valore vuoto nell'URL ha funzionato per me.


0

Passi che hanno funzionato per me:

  1. Elimina le credenziali che non funzionano per te
  2. Crea nuove credenziali con un nome
  3. Inserisci lo stesso NAME nella schermata di consenso OAuth
  4. Inserisci l'indirizzo e-mail nella schermata di consenso OAuth

Il nome dovrebbe essere esattamente lo stesso.


0

Un'altra cosa da controllare:

Quando installi le API di Google in un'app .Net con NuGet, verrà inserito un nuovo set di valori fittizi nel tuo file * .config.

Verificare che i valori originali siano ancora al loro posto e rimuovere le voci fittizie.


0

Nessuno dei seguenti era il mio problema: l'ho risolto aprendo una finestra di navigazione in incognito. Ovviamente qualcosa veniva memorizzato nella cache da qualche parte, nessuna modifica delle impostazioni del client di autenticazione aiutava e non c'erano mai spazi finali o iniziali nei valori di configurazione.


0

L'eliminazione dell'ID cliente e la creazione di uno nuovo un paio di volte ha funzionato per me.


0

Il mio non ha funzionato perché l'ho creato da un pulsante dalla documentazione. Sono andato di nuovo al progetto e ho creato un altro OAuthClientID. Ha funzionato. Sì, fai attenzione anche agli spazi extra a destra ea sinistra.


0

Per i migliori risultati assicurati di avere i dettagli completi come segue:

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

Questi dati sono sempre disponibili per il download come JSON da https://console.developers.google.com/apis/credentials/oauthclient/


0

Se sei in Meteor JS, devi usare clientId invece appId :

Poiché Facebook utilizza appId e google clientId.

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

Ho passato alcune ore a rendermene conto.


0

Vorrei aver visto questo post prima, perché ci sono molte cose che ho dovuto scoprire per tentativi ed errori. Molto può andare storto con questo. Ecco un altro problema che ho avuto:

Quando specifichi le origini JavaScript autorizzate o gli URI di reindirizzamento autorizzato, assicurati di includere il tuo dominio con e senza www. Quindi https://google.com e https://www.google.com

Inoltre avevo caricato un logo dell'applicazione. Per questo motivo, la schermata di consenso richiedeva una revisione ... che richiede un'eternità. Non caricare il logo di un'applicazione o sii molto paziente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.