Les applications Web doivent obtenir un jeton d'accès pour appeler les API Google en toute sécurité.
La bibliothèque JavaScript Google Identity Services permet à la fois l'authentification pour la connexion des utilisateurs et l'autorisation d'obtenir un jeton d'accès à utiliser avec les API Google. La bibliothèque est destinée à être utilisée uniquement dans les navigateurs.
L'authentification permet d'identifier une personne. Il est communément appelé inscription ou connexion utilisateur. L'autorisation consiste à accorder ou à refuser l'accès aux données ou aux ressources. Cela inclut l'obtention et la gestion du consentement de l'utilisateur, la limitation de la quantité de données ou de ressources partagées avec les champs d'application, ainsi que la récupération d'un jeton d'accès à utiliser avec les API Google.
Ces guides abordent les sujets liés aux autorisations et au partage de données.
La page Fonctionnement de l'autorisation des utilisateurs décrit chaque étape de l'autorisation utilisateur en détail et inclut des exemples de boîtes de dialogue utilisateur.
Si vous avez besoin d'aide concernant l'authentification et la mise en œuvre de l'inscription et de la connexion des utilisateurs, consultez la page Se connecter avec Google.
Cette bibliothèque n'est pas conçue pour être utilisée avec des frameworks JavaScript côté serveur tels que Node.js. Utilisez plutôt la bibliothèque cliente Node.js de Google.
Changements
Pour les utilisateurs, la bibliothèque Google Identity Services offre de nombreuses améliorations par rapport aux anciennes bibliothèques JavaScript, y compris:
- L'authentification pour la connexion des utilisateurs et l'autorisation permettant d'obtenir un jeton d'accès permettant d'appeler les API Google disposent désormais de deux parcours utilisateur distincts : l'un pour la connexion et l'autre pour le consentement lors de l'autorisation. Des parcours utilisateur distincts permettent de distinguer clairement votre identité de ce qu'une application peut faire.
- Amélioration de la visibilité et contrôle précis du partage de données lors du consentement de l'utilisateur.
- Fenêtres pop-up basées sur un navigateur pour réduire la friction et qui ne nécessitent pas que les utilisateurs quittent votre site :
- obtenir un jeton d'accès auprès de Google ;
- envoyer un code d'autorisation à votre plate-forme backend.
Notre objectif a été de réduire la complexité, d'améliorer la sécurité et de rendre l'intégration aussi rapide et facile que possible. Voici quelques-unes de ces modifications:
- L'authentification utilisateur pour la connexion et l'autorisation permettant d'obtenir un jeton d'accès permettant d'appeler des API Google sont deux ensembles distincts d'objets JavaScript et de méthodes. Cela réduit la complexité et la quantité de détails requis pour mettre en œuvre l'authentification ou l'autorisation.
- Une bibliothèque JavaScript unique est désormais compatible avec les deux méthodes suivantes :
- Flux implicite OAuth 2.0 permettant d'obtenir un jeton d'accès à utiliser dans le navigateur
- Flux de code d'autorisation OAuth 2.0, également appelé accès hors connexion, qui initie une livraison sécurisée d'un code d'autorisation à votre plate-forme backend, qui peut être échangé contre un jeton d'accès et un jeton d'actualisation. Auparavant, ces flux n'étaient disponibles qu'en utilisant plusieurs bibliothèques et via des appels directs aux points de terminaison OAuth 2.0. Une bibliothèque unique réduit votre temps d'intégration et vos efforts, au lieu d'inclure et d'apprendre plusieurs bibliothèques et concepts OAuth 2.0 que vous pouvez vous concentrer sur une seule interface unifiée.
- L'injonction via les fonctions de style getter a été supprimée pour plus de simplicité et de lisibilité.
- Lorsque vous traitez les réponses d'autorisation, vous choisissez d'utiliser ou non une promesse pour répondre aux requêtes, plutôt que de prendre cette décision à votre place.
- La bibliothèque cliente des API Google pour JavaScript a été mise à jour avec les modifications suivantes :
- le module
gapi.auth2
et les objets et méthodes associés ne sont plus chargés automatiquement en arrière-plan et ont été remplacés par des objets et des méthodes plus explicites de la bibliothèque Google Identity Services. - L'actualisation automatique des jetons d'accès expirés a été supprimée pour améliorer la sécurité et la notoriété des utilisateurs. Une fois qu'un jeton d'accès a expiré, votre application doit gérer les réponses d'erreur de l'API Google, demander et obtenir un nouveau jeton d'accès valide.
- Pour permettre une séparation claire des moments d'authentification et d'autorisation, il n'est plus possible de connecter simultanément un utilisateur à votre application et à son compte Google tout en émettant un jeton d'accès. Auparavant, la requête d'un jeton d'accès permettait également de connecter les utilisateurs à leur compte Google et de renvoyer des identifiants de jeton d'ID JWT pour l'authentification des utilisateurs.
- le module
- Afin d'améliorer la sécurité et la confidentialité des utilisateurs, le principe du moindre privilège est appliqué aux identifiants d'autorisation par utilisateur en n'incluant qu'un jeton d'accès et les informations nécessaires à sa gestion.