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

146
Vistas
Cómo utilizar las API de ámbito con (GSI) Google Identity Services

Google me envió recientemente un correo electrónico con lo siguiente:

Una o más de sus aplicaciones web utilizan la biblioteca de JavaScript de inicio de sesión de Google heredada. Migra tus proyectos al nuevo SDK de Google Identity Services antes del 31 de marzo de 2023

El proyecto en cuestión utiliza la API de Google Drive junto con el cliente de autenticación heredado.

La tabla en la página de migración ( https://developers.google.com/identity/gsi/web/guides/migration ) dice:

Antiguo Nuevo notas
Bibliotecas JavaScript
apis.google.com/js/plataforma.js cuentas.google.com/gsi/cliente Reemplace lo viejo con lo nuevo.
apis.google.com/js/api.js cuentas.google.com/gsi/cliente Reemplace lo viejo con lo nuevo.

Actualmente estaba usando gapi en el front-end para realizar la autorización que se carga desde apis.google.com/js/api.js . De acuerdo con la tabla, necesitaría reemplazarlo con la nueva biblioteca.

Intenté lo siguiente para autenticar y autorizar de la misma manera que solía hacerlo con gapi:

 window.google.accounts.id.initialize({ client_id: GOOGLE_CLIENT_ID, callback: console.log, scope: "https://www.googleapis.com/auth/drive.file", discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/drive/v3/rest"], }); window.google.accounts.id.renderButton(ref.current, { size: "medium", type: "standard", });

Sin embargo, cuando trato de autenticarme con el botón Iniciar sesión de Google, el campo de scope no se respeta y no le pide al usuario que autorice los alcances solicitados. Tampoco devuelve ninguna forma de token de acceso en la respuesta de credencial en la devolución de llamada.

No estoy seguro de qué otra forma autorizar el uso de la nueva biblioteca.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En los nuevos Google Identity Services, el momento de la autenticación y el momento de la autorización están separados. Esto significa que GIS proporciona diferentes API para que los sitios web llamen en estos dos momentos diferentes. Ya no puede combinarlos en una llamada API (y flujo UX).

En el momento de la autenticación, los usuarios simplemente inician sesión o se registran en su sitio web (aprovechando la información compartida por Google). La única decisión que deben tomar los usuarios es si desean iniciar sesión (o registrarse). No es necesario tomar ninguna decisión relacionada con la autorización en este momento.

En el momento de la autenticación, los usuarios verán One Tap o botón UX consistente en todos los sitios web (ya que los mismos alcances se solicitan implícitamente). La consistencia conduce a una UX más fluida, lo que puede conducir a un mayor uso. Con la experiencia de usuario de autenticación consistente y optimizada (en todos los sitios web), los usuarios tendrán una mejor experiencia con el inicio de sesión federado.

Después de que los usuarios inicien sesión, cuando realmente desee cargar algunos datos de un servicio de datos de Google, puede llamar a la API de autorización GIS para activar un flujo de UX para permitir que los usuarios finales concedan el permiso. Ese es el momento de la autorización.

Actualmente (agosto de 2021), solo se ha publicado la API de autenticación. Si su sitio web solo se preocupa por la autenticación, puede migrar a GIS ahora. Si también necesita la API de autorización, debe esperar un nuevo aviso.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Para agregar a la respuesta actual, ahora hay documentación sobre cómo autorizar usuarios con alcance adicional. De Uso del modelo de fichas .

Primero necesita iniciar un TokenClient:

 const client = google.accounts.oauth2.initTokenClient({ client_id: 'YOUR_GOOGLE_CLIENT_ID', scope: 'https://www.googleapis.com/auth/calendar.readonly', callback: (response) => { ... }, });

Luego solicita un token:

 client.requestAccessToken();

Si alguien está interesado en dónde se menciona en la documentación de migración, último párrafo de esta sección :

Si su caso de uso incluye autorización, lea Cómo funciona la autorización de usuario y Migrar a Google Identity Services para asegurarse de que su aplicación esté utilizando las API nuevas y mejoradas.

Si bien sus artículos son muy detallados y buenos, personalmente los encuentro un poco demasiado para mí, por lo que es más sencillo para mí simplemente seguir el primer artículo mencionado y no preocuparme en absoluto por las migraciones.

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