Autoriser pour le Web

Les applications Web doivent obtenir un jeton d'accès pour appeler les API Google de manière sécurisée.

La bibliothèque JavaScript Google Identity Services est compatible à la fois avec l'authentification pour la connexion des utilisateurs et pour l'autorisation d'obtenir un jeton d'accès à utiliser avec les API Google. La bibliothèque est conçue uniquement pour être utilisée dans les navigateurs.

L'authentification permet d'identifier une personne. On parle communément d'inscription ou de connexion d'utilisateur. L'autorisation est le processus d'attribution ou de refus de l'accès aux données ou aux ressources. Elle inclut l'obtention et la gestion du consentement des utilisateurs, la limitation de la quantité de données ou de ressources partagées avec les niveaux d'accès, et la récupération d'un jeton d'accès à utiliser avec les API Google.

Ces guides couvrent des sujets liés à l'autorisation et au partage des données.

La section Fonctionnement de l'autorisation de l'utilisateur décrit en détail les différentes étapes de l'autorisation d'un utilisateur et inclut des exemples de boîtes de dialogue utilisateur.

Si vous avez besoin d'aide concernant l'authentification ou la mise en œuvre de l'inscription et de la connexion des utilisateurs, consultez Se connecter avec Google.

Cette bibliothèque n'est pas destinée à ê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.

Modifications apportées

Pour les utilisateurs, la bibliothèque Google Identity Services offre de nombreuses améliorations de facilité d'utilisation par rapport aux bibliothèques JavaScript précédentes, par exemple:

  • L'authentification pour la connexion des utilisateurs et l'autorisation d'obtenir un jeton d'accès pour appeler les API Google comportent désormais deux parcours utilisateur distincts : l'un pour la connexion et l'autre pour le consentement lors de l'autorisation, avec des parcours utilisateur distincts permettant de différencier clairement qui vous êtes et ce qu'une application peut faire.
  • Amélioration de la visibilité et du contrôle précis du partage des données lors du consentement de l'utilisateur.
  • Boîtes de dialogue pop-up dans le navigateur pour réduire les frictions et qui ne nécessitent pas que les utilisateurs quittent votre site pour :
    • obtenir un jeton d'accès auprès de Google ;
    • et envoyer un code d'autorisation à votre plate-forme backend.

Pour les développeurs, notre objectif a été de réduire la complexité, d'améliorer la sécurité et de rendre votre 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 les API Google sont deux ensembles distincts d'objets JavaScript et de méthodes. Cela simplifie et simplifie la mise en œuvre de l'authentification ou de l'autorisation.
  • Une seule bibliothèque JavaScript est désormais compatible avec :
    • Flux implicite OAuth 2.0 permettant d'obtenir un jeton d'accès à utiliser dans le navigateur
    • Le flux avec code d'autorisation OAuth 2.0, également appelé accès hors connexion, permet de transmettre de manière sécurisée un code d'autorisation à votre plate-forme de backend, où il 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. Avec une seule bibliothèque, vous réduisez le temps et les efforts d'intégration. Au lieu d'inclure et d'apprendre plusieurs bibliothèques et concepts OAuth 2.0, vous pouvez vous concentrer sur une interface unifiée.
  • L'indirection via les fonctions de style getter a été supprimée pour plus de simplicité et de lisibilité.
  • Lorsque vous gérez les réponses d'autorisation, vous choisissez d'utiliser ou non une promesse pour traiter les 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 ainsi que les objets et méthodes associés ne sont plus chargés automatiquement en arrière-plan. Ils 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 afin de renforcer la sécurité 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 assurer une séparation claire des moments d'authentification et d'autorisation, il n'est plus possible de connecter un utilisateur à votre application et à son compte Google simultanément tout en émettant un jeton d'accès. Auparavant, la requête d'un jeton d'accès connectait également les utilisateurs à leur compte Google et renvoyait des identifiants de jeton d'ID JWT pour l'authentification des utilisateurs.
  • Pour améliorer la sécurité et la confidentialité des utilisateurs, les identifiants utilisateur émis pour l'autorisation respectent le principe du moindre privilège en n'incluant qu'un jeton d'accès et les informations nécessaires à sa gestion.