invalid_client en google oauth2

87

Intento crear una página web para la carga de videos de YouTube, por lo tanto, trato de obtener la identificación del cliente de la consola de la API de Google, y en la consola de la API se muestra algo como esto:

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

Sin embargo, cuando intento probar mi cuenta usando la siguiente 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

Da el resultado de invalid_client. Incluso cuando lo intento en el patio de juegos oauth2, se produce el mismo error

Entonces, ¿alguien sabe lo que pasa?

Beto
fuente
8
Descubrí que a veces la identificación del cliente oauth2 no funciona. No sé por qué, pero cuando abro una nueva cuenta y vuelvo a crear la identificación de cliente, funciona.
Bob
3
Bob tiene razón, crear la identificación del cliente resuelve este problema
Gabo Esquivel
11
Asegúrese de que al copiar / pegar la identificación del cliente no incluya un espacio final. Eso funcionó para mí ...
andig
1
para mí, regeneré el secreto del cliente y utilicé que funcionó. Parece que la API aún es inestable.
Muhammad Talal

Respuestas:

113

Configure / cambie el nombre de su producto, tuve este problema hasta que creé un nombre de producto igual al nombre del proyecto.

El nombre del producto se puede establecer en la sección de la pantalla de consentimiento de Google Developers Console para su proyecto. Busque en API y autenticación en el panel de navegación de la izquierda y seleccione la pantalla Consentimiento. También debe configurar su dirección de correo electrónico en el cuadro sobre el nombre del producto.

jojay
fuente
4
¡¡Gracias!! Recibía el error "" Error: invalid_client. No se encontró el cliente de OAuth. "Hoy perdí varias horas en esto, pero actualicé el nombre del producto y listo, problema solucionado. Ese error es muy engañoso.
IanB
2
Cual es el nombre del producto?
Hubert OG
4
Está en la pantalla de consentimiento. Debe completar el campo 'NOMBRE DEL PRODUCTO'
Foo L
2
Esto funcionó. Para ser breve: establezca los campos ' NOMBRE DEL PRODUCTO' Y 'DIRECCIÓN DE CORREO ELECTRÓNICO'.
b_archer
2
¡Gracias! ¡Salvó mi día! Y debo decir, de todos los proveedores de redes sociales, Google tiene los peores documentos y la peor interfaz de usuario. Es tan abrumador y confuso junto con su mala navegación. Casi siempre olvido cómo ir a la página de configuración del proyecto lol.
tintinboss
69

Después de copiar los valores de la interfaz de usuario web de Google, tenía un espacio en blanco para:

  • client_id
  • secret

Y al COMIENZO y al FINAL para ambos.

Rael Gugelmin Cunha
fuente
2
Este problema aún persiste: P
Abhinay
1
Increíble, incluso al hacer clic en el botón "copiar" en la consola API ... ¡Pensarías que el área de desarrolladores de Google sería sensible a los espacios en blanco!
Reisclef
Increíble también aquí. Elimina esos espacios adicionales en ambos lados de la cadena. Luego, si después de seguir todo lo que se ha dicho aquí y nada todavía funciona, elimine la aplicación / proyecto y vuelva a crearlo porque podría haber problemas de almacenamiento en caché.
eigenfield
1
¡Sí, el problema aún existe! Santo cielo. Omití un espacio en blanco y no lo vi hasta que volví a verificar. Gracias.
LukasS
1
¡maldito! Vi el espacio al final y lo quité, pero no verifiqué el espacio al principio.
sulabh
41

Recorte el espacio en blanco inicial y final de client_idy client_secret. El botón de copia de Google no hace esto por usted.

ingrese la descripción de la imagen aquí

Configure los campos de la dirección de correo electrónico y el nombre del producto para la pantalla de consentimiento de OAuth.

ingrese la descripción de la imagen aquí

Shaun Luttin
fuente
3
Probablemente no debería dejar expuesto el secreto de su cliente en una respuesta como esa.
Fernando
1
@Fernando Es una cuenta desechable.
Shaun Luttin
Uf. Me tenía preocupado allí Shaun: D
Fernando
3
¿Cómo llegaste a esta pantalla?
Anthony Kong
2
"Cuenta desechable": no para Google, que lo rastrea y agrupa todas las cuentas que utilizó en "cuentas asociadas". Y una vez que Google prohíbe una de las cuentas, todo el paquete se bloquea. Simplemente busque "Cuenta de desarrollador de Google cancelada" en Reddit .
Alexander Farber
16

Al configurar la DIRECCIÓN DE CORREO ELECTRÓNICO y el NOMBRE DEL PRODUCTO en la pantalla de consentimiento de la consola de desarrollador de Google, se resuelve el error "Error: invalid_client. No se encontró el cliente OAuth". para mi.

S.Roshanth
fuente
9

Tenía .apps.googleusercontent.com dos veces en mi ID.

Fue un problema de copiar y pegar "Su ID AQUÍ" .apps.googleusercontent.com

Chris Carr
fuente
5
El mío era un espacio en blanco dejado en cada extremo: /
Christian
Gracias Chris. Me ayudó.
Kiran Pawar
7

en este hilo encontré mi respuesta.

  1. Fui a la consola de google,
  2. generar un nuevo proyecto, actualizar, porque en mi caso después de crear la página no se recargó
  3. seleccionar nuevo proyecto
  4. crear una identificación de cliente
  5. úsalo para lo que necesites

gracias chicos: D

Pedro Romão
fuente
6

invalid_client también puede significar simplemente que su ID de cliente y su secreto de cliente son incorrectos cuando crea su objeto Oauth2.

jdcaron
fuente
5

En mi caso, esto resultó ser otra cosa, es decir, mi código usó una variable de entorno que no se había configurado correctamente (y estúpidamente no fue verificada por mi código). Configurarlo, recompilar activos y reiniciar la aplicación funcionó.

Josh Diehl
fuente
1
Igual que aquí; Lo había configurado pero olvidé reiniciar mi terminal
quicklikerabbit
5

Si sigue la documentación, desde esta página https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

verás

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

Pero está mal. Debería ser

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

El problema es que ".apps.googleusercontent.com" se agrega de todos modos. Si lo hace como dice la documentación, obtendrá '.apps.googleusercontent.com' dos veces

Aaronvargas
fuente
Muchas gracias. Cambiarlo como sugirió funcionó.
Pavan Dittakavi
4

Resolví esto eliminando comillas innecesarias de mis valores clientID y clientSecret.

OsoGrizz
fuente
¡Usted señor / señora es una leyenda! Eliminé las comillas de mis variables de entorno de Heroku.
grabury
2

¿El error también informó que faltaba un nombre de aplicación? Tuve este problema hasta que creé un nombre de proyecto (por ejemplo, "Proyecto X") en el cuadro de diálogo de configuración del proyecto.

random_stackoverflow_user
fuente
2

probablemente las credenciales antiguas no son válidas

mira la respuesta a continuación

respuesta de stackoverflow

o los nombres cortos pueden funcionar

ver la respuesta a continuación respuesta de stackoverflow

o el nombre del producto es el mismo que el del proyecto como ya se respondió

a veces uno puede incluir espacio extra en el

marque dos veces esta línea para que sea redirigido a la URL correcta

Charles Dominic
fuente
1

Resolví mi problema con el recorte:

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

Verifique el nombre de su proyecto en la consola de API de Google. eliges otro proyecto que creaste. Tuve el mismo error. mi error fue elegir un proyecto diferente.

Dio Blando
fuente
0

En las credenciales Acepte las solicitudes de estas referencias HTTP (sitios web) (Opcional) Utilice asteriscos para los comodines. Si deja este espacio en blanco, se aceptarán solicitudes de cualquier referente. Asegúrese de agregar referencias antes de usar esta clave en producción. Agregar . (estrella punto estrella). Funciona bien para mi

HuyLe
fuente
0

Accidentalmente tuve un valor en la parte de secreto de cliente de la URL, pero Google Credential no necesita un secreto de cliente para las ID de cliente de Android OAuth 2. Simplemente dejar el valor en blanco en la URL funcionó para mí.

Jason Washo
fuente
0

Pasos que funcionaron para mí:

  1. Elimina las credenciales que no te funcionan
  2. Crea nuevas credenciales con algún NAME
  3. Complete el mismo NOMBRE en su pantalla de consentimiento de OAuth
  4. Complete la dirección de correo electrónico en la pantalla de consentimiento de OAuth

El nombre debe ser exactamente el mismo.

sintagma
fuente
0

Otra cosa para comprobar:

Cuando instale las API de Google en una aplicación .Net con NuGet, inyectará un nuevo conjunto de valores ficticios en su archivo * .config.

Compruebe que los valores originales sigan en su lugar y elimine las entradas ficticias.

Iain Ballard
fuente
0

Ninguno de los siguientes fue mi problema: lo resolví abriendo una ventana de incógnito. Obviamente, algo se estaba almacenando en caché en algún lugar, ninguna cantidad de cambios en la configuración del cliente de autenticación ayudó y nunca hubo espacios iniciales o finales en los valores de configuración.

ninjas encapuchados
fuente
0

Eliminar el ID de cliente y crear uno nuevo un par de veces funcionó para mí.

Haris ur Rehman
fuente
0

El mío no funcionó porque lo creé desde un botón de la documentación. Volví al proyecto y creé otro OAuthClientID. Funcionó. Sí, tenga cuidado con los espacios adicionales a la derecha e izquierda también.

Hemant Sharma
fuente
0

Para obtener los mejores resultados, asegúrese de tener los detalles completos de la siguiente manera:

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

Estos datos siempre están disponibles para descargarlos como JSON desde https://console.developers.google.com/apis/credentials/oauthclient/

Abhay Shiro
fuente
0

Si está en Meteor JS, debe usar clientId en lugar de appId :

Dado que Facebook usa appId y google clientId.

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

Pasé algunas horas para darme cuenta de eso.

Iván Cabrera
fuente
0

Ojalá hubiera visto esta publicación antes, porque hay muchas cosas que tuve que averiguar por prueba y error. Muchas cosas pueden salir mal con esto. Aquí hay otro problema que tuve:

Cuando especifique los orígenes de JavaScript autorizados o los URI de redireccionamiento autorizados, asegúrese de incluir su dominio con y sin www. Entonces https://google.com y https://www.google.com

También había subido un logotipo de la aplicación. Por eso, la pantalla de consentimiento requirió una revisión ... que lleva una eternidad. No cargue el logotipo de una aplicación o sea muy paciente.

eliud
fuente