Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Le app web devono ottenere un token di accesso per chiamare in modo sicuro le API di Google.
La libreria JavaScript dei servizi di identità Google supporta sia l'autenticazione per l'accesso degli utenti sia l'autorizzazione a ottenere un token di accesso da utilizzare con le API di Google. La libreria è destinata esclusivamente all'utilizzo nei browser.
L'autenticazione stabilisce chi è un utente e viene comunemente indicato come registrazione o accesso dell'utente. L'autorizzazione è il processo di concessione o rifiuto dell'accesso a dati o risorse. Sono inclusi l'ottenimento e la gestione del consenso degli utenti, la limitazione della quantità di dati o risorse condivisi con gli ambiti e il recupero di un token di accesso da utilizzare con le API di Google.
Queste guide trattano argomenti relativi all'autorizzazione e alla condivisione dei dati.
Come funziona l'autorizzazione utente descrive in dettaglio i singoli passaggi dell'autorizzazione utente e include esempi di finestre di dialogo utente.
Se hai bisogno di assistenza per l'autenticazione e per l'implementazione della registrazione e dell'accesso degli utenti, consulta la pagina Accedi con Google.
Questa libreria non è destinata all'utilizzo con framework JavaScript lato server come Node.js. Utilizza invece la libreria client Node.js di Google.
Che cosa è cambiato
Per gli utenti, la libreria dei Servizi di identità Google offre numerosi miglioramenti di usabilità rispetto alle precedenti librerie JavaScript, tra cui:
L'autenticazione per l'accesso degli utenti e l'autorizzazione per ottenere un token di accesso per chiamare le API di Google ora prevedono due flussi utente separati e distinti: uno per l'accesso e un altro per il consenso durante l'autorizzazione, con flussi utente distinti che consentono di distinguere chiaramente la tua identità da ciò che può fare un'app.
Visibilità e controllo granulare della condivisione dei dati durante il consenso dell'utente.
Finestre di dialogo popup basate su browser per ridurre gli attriti e che non richiedono agli utenti di uscire dal sito per:
ottenere un token di accesso da Google, oppure
invia un codice di autorizzazione alla tua piattaforma di backend.
Per gli sviluppatori, il nostro obiettivo è ridurre la complessità, migliorare la sicurezza e rendere l'integrazione il più facile e veloce possibile. Ecco alcune di queste modifiche:
L'autenticazione utente per l'accesso e l'autorizzazione utilizzata per ottenere un token di accesso per chiamare le API di Google sono due insiemi separati e distinti di oggetti e metodi JavaScript. Questo riduce la complessità e la quantità di dettagli necessari per implementare l'autenticazione o l'autorizzazione.
Una singola libreria JavaScript ora supporta sia:
Flusso implicito OAuth 2.0, utilizzato per ottenere un token di accesso da usare nel browser
Il flusso del codice di autorizzazione OAuth 2.0, noto anche come accesso offline, avvia l'invio in modo sicuro di un codice di autorizzazione alla tua piattaforma di backend, dove può essere scambiato con un token di accesso e un token di aggiornamento. In precedenza, questi flussi erano disponibili solo utilizzando più librerie e tramite chiamate dirette agli endpoint OAuth 2.0. Una singola libreria riduce i tempi e gli sforzi di integrazione. Anziché includere e apprendere più librerie e concetti di OAuth 2.0, puoi concentrarti su una singola interfaccia unificata.
La funzionalità indiretta tramite le funzioni di stile getter è stata rimossa per motivi di semplicità e leggibilità.
Quando gestisci le risposte di autorizzazione, scegli se utilizzare o meno una promessa per soddisfare le richieste, anziché prendere questa decisione al posto tuo.
il modulo gapi.auth2 e gli oggetti e i metodi associati non vengono più caricati automaticamente per te dietro le quinte e sono stati sostituiti con oggetti e metodi più espliciti delle librerie dei Servizi di identità Google.
L'aggiornamento automatico dei token di accesso scaduti è stato rimosso per migliorare la sicurezza e la consapevolezza degli utenti. Dopo la scadenza di un token di accesso, l'app deve gestire le risposte di errore dell'API di Google, richiedere e ottenere un nuovo token di accesso valido.
Per consentire una chiara separazione dei momenti di autenticazione e autorizzazione, non è più supportato l'accesso di un utente alla tua app e al suo Account Google e all'emissione di un token di accesso. In precedenza, la richiesta di un token di accesso comportava anche l'accesso degli utenti al loro Account Google e la restituzione di una credenziale del token ID JWT per l'autenticazione utente.
Per aumentare la sicurezza e la privacy degli utenti, le credenziali per utente concesse per l'autorizzazione seguono il principio del privilegio minimo includendo solo un token di accesso e le informazioni necessarie per gestirlo.
[null,null,["Ultimo aggiornamento 2023-12-01 UTC."],[[["\u003cp\u003eGoogle Identity Services JavaScript library enables secure access to Google APIs via access tokens and supports user authentication.\u003c/p\u003e\n"],["\u003cp\u003eThe library offers separate, streamlined user flows for sign-in (authentication) and consent (authorization) for enhanced user experience and control.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers benefit from reduced complexity, improved security, and easier integration with features like a unified library for both implicit and authorization code flows.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Identity Services prioritizes user privacy and security through measures like least privilege credentials and explicit access token refresh handling.\u003c/p\u003e\n"],["\u003cp\u003eThe library is exclusively for browser-based applications and should not be used with server-side JavaScript frameworks like Node.js.\u003c/p\u003e\n"]]],[],null,["Web apps must obtain an access token to securely call Google APIs.\n\nThe Google Identity Services JavaScript library supports both authentication for\nuser sign-in and authorization to obtain an access token for use with Google\nAPIs. The library is intended only for use in browsers.\n\nAuthentication establishes who someone is, and is commonly referred to as user\nsign-up or sign-in. Authorization is the process of granting or rejecting access\nto data or resources. It includes obtaining and managing user consent, limiting\nthe amount of data or resources shared with scopes, and retrieving an access\ntoken for use with Google APIs.\n\nThese guides cover authorization and data sharing topics.\n\n[How user authorization works](/identity/oauth2/web/guides/how-user-authz-works) describes the individual steps of user\nauthorization in detail and includes user dialog examples.\n\nIf you are looking for help with authentication and how to implement user\nsign-up and sign-in see [Sign In With Google](/identity/gsi/web/guides/overview).\n| **Note:** The `email`, `profile`, and `openid` scopes are used for user authentication. If your app only uses these scopes [Sign In With Google](/identity/gsi/web) is recommended instead.\n\nThis library is not intended for use with server-side JavaScript frameworks such\nas Node.js, instead use Google's [Node.js](https://github.com/googleapis/google-api-nodejs-client)\nclient library.\n\nWhat's changed\n\nFor users, the Google Identity Services library offers numerous usability\nimprovements over earlier JavaScript libraries, including:\n\n- Authentication for user sign-in, and authorization to obtain an access token to call Google APIs, now have two separate and distinct user flows; one for [sign-in](/identity/gsi/web/guides/overview#how_it_works) and another for [consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent) during authorization, with separate user flows to clearly differentiate who you are, from what an app can do.\n- Improved visibility and granular control of data sharing during [user\n consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent).\n- Browser based pop-up dialogs to reduce friction, and which do not require users to leave your site to:\n - obtain an access token from Google, or\n - send an authorization code to your backend platform.\n\nFor developers, our focus has been to reduce complexity, improve security, and\nmake your integration as quick and easy as possible. Some of these changes are:\n\n- User [authentication](/identity/gsi/web/reference/js-reference) for sign-in, and [authorization](/identity/oauth2/web/reference/js-reference) used to obtain an access token to call Google APIs, are two separate and distinct sets of JavaScript objects, and methods. This reduces the complexity and amount of detail required to implement authentication or authorization.\n- A single JavaScript library now supports both the:\n - OAuth 2.0 implicit flow, used to obtain an access token for use in-browser\n - OAuth 2.0 authorization code flow, also known as offline access, and initiates securely delivering an authorization code to your backend platform, where it can be exchanged for an access token and refresh token. Previously, these flows were only available by using multiple libraries and through direct calls to OAuth 2.0 endpoints. A single library decreases your integration time and effort, instead of including and learning multiple libraries and OAuth 2.0 concepts you can focus on a single, unified interface.\n- Indirection through getter style functions has been removed for simplicity and readability.\n- When handling authorization responses you choose whether or not to use a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) to fulfill requests, instead of that decision being made for you.\n- The [Google API Client Library for JavaScript](https://github.com/google/google-api-javascript-client) has been updated with these changes:\n - the `gapi.auth2` module and associated objects and methods are no longer automatically loaded for you behind the scenes, and have been replaced with more explicit Google Identity Services library objects and methods.\n - Automatic refresh of expired access tokens has been removed to improve user security and awareness. After an access token expires your app must handle Google API error responses, request, and obtain a new, valid access token.\n - To support a clear separation of authentication and authorization moments, simultaneously signing a user in to your app and to their Google Account while also issuing an access token is no longer supported. Previously, requesting an access token also signed users into their Google Account and returned a JWT ID token credential for user authentication.\n- To increase user security and privacy, per user [credentials](/identity/oauth2/web/guides/migration-to-gis#example_credentials) issued for authorization follow the principle of least privilege by including only an access token and information required to manage it."]]