Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!