Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

199
Vistas
Solicitud incorrecta al obtener el token de identificación de Google

Esta puede ser una pregunta de novato (no he usado la API de fetch antes), pero no puedo entender qué es lo que está mal con mi solicitud.

 fetch('https://securetoken.googleapis.com/v1/token?key=' + API_KEY, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'grant_type=refresh_token&refresh_token=' + refreshToken }) .then(response => console.log(response)) .catch(error => console.error(error))

Estoy tratando de cambiar un token de actualización por un token de identificación siguiendo las pautas aquí , pero por alguna razón recibo una respuesta de Bad Request ...

 Response { type: "cors", url: "https://securetoken.googleapis.com/v1/token?key=[API_KEY]", redirected: false, status: 400, ok: false, statusText: "Bad Request", headers: Headers, body: ReadableStream, bodyUsed: false }

Mi key es correcta, y el refreshToken también proviene directamente de una respuesta de un servicio en Firebase SDK.

¿Dónde está exactamente mi error?

ACTUALIZAR

  1. Mostrando el contexto donde se ejecuta fetch en una aplicación Next.js:
  2. Estoy ejecutando este código en desarrollo (localhost) usando Firebase Emulators.
  3. Logré encontrar registros de errores adicionales que indican { code: 400, message: "INVALID_REFRESH_TOKEN", status: "INVALID_ARGUMENT" } .

Entonces, esto parece ser un problema con refresh_token. ¿Puede ser porque ha sido emitido por Firebase Emulators?

 useEffect(() => { return firebase.auth().onIdTokenChanged(async user => { if (user) { fetch('https://securetoken.googleapis.com/v1/token?key=' + process.env.NEXT_PUBLIC_FIREBASE_API_KEY, { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'grant_type=refresh_token&refresh_token=' + user.refreshToken }) .then(response => console.log(response)) .catch(error => console.error(error)) } }) }, [])
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Al final, la causa del problema fue el hecho de que el refreshToken emitido al usar Firebase Emulators no es válido cuando se intercambia por un idToken.

Un caso bastante extremo, pero tal vez alguien pueda encontrar esto útil.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda