L'authentification et l'autorisation sont des mécanismes utilisés pour vérifier respectivement l'identité et l'accès aux ressources. Ce document décrit le fonctionnement de l'authentification et de l'autorisation pour les applications Chat et les requêtes de l'API Chat.
Présentation du processus
Le schéma suivant illustre les grandes étapes de l'authentification et de l'autorisation pour Google Chat:

Configurez un projet Google Cloud, activez l'API Chat et configurez votre application Chat:lors du développement, vous créez un projet Google Cloud. Dans le projet Google Cloud, vous activez l'API Chat, configurez votre application Chat et configurez l'authentification. Pour en savoir plus, consultez Développer sur Google Workspace et Créer une application Chat.
Appeler l'API Chat:lorsque votre application appelle l'API Chat, elle envoie des identifiants d'authentification à l'API Chat. Si votre application s'authentifie avec un compte de service, les identifiants sont envoyés dans le code de votre application. Si votre application nécessite d'appeler l'API Chat à l'aide d'une authentification qui n'a pas encore été accordée, l'utilisateur est invité à se connecter.
Demander des ressources: votre application demande l'accès avec les champs d'application que vous spécifiez lors de la configuration de l'authentification.
Demander le consentement:si votre application s'authentifie en tant qu'utilisateur, Google affiche un écran de consentement OAuth afin que l'utilisateur puisse décider d'accorder à votre application l'accès aux données demandées. L'authentification avec un compte de service ne nécessite pas le consentement de l'utilisateur.
Envoyez une demande approuvée pour les ressources:si l'utilisateur accepte les champs d'application d'autorisation, votre application regroupe les identifiants et les champs d'application approuvés par l'utilisateur dans une requête. La requête est envoyée au serveur d'autorisation de Google pour obtenir un jeton d'accès.
Google renvoie un jeton d'accès:le jeton d'accès contient la liste des champs d'application autorisés. Si la liste de champs d'application renvoyée est plus restrictive que les champs d'application demandés, votre application désactive toutes les fonctionnalités limitées par le jeton.
Accès aux ressources demandées:votre application utilise le jeton d'accès de Google pour appeler l'API Chat et accéder aux ressources de cette API.
Obtenir un jeton d'actualisation (facultatif) : si votre application doit accéder à l'API Google Chat au-delà de la durée de vie d'un jeton d'accès unique, elle peut obtenir un jeton d'actualisation. Pour en savoir plus, consultez Utiliser OAuth 2.0 pour accéder aux API Google.
Demander plus de ressources:si votre application a besoin d'un accès plus étendu, elle demande à l'utilisateur d'accorder de nouveaux champs d'application, ce qui entraîne une nouvelle requête d'obtention d'un jeton d'accès (étapes 3 à 6).
Lorsque les applications de chat nécessitent une authentification
Les applications de chat peuvent envoyer des messages en réponse à une interaction utilisateur ou de manière asynchrone. Ils peuvent également effectuer des tâches pour le compte d'un utilisateur, comme créer un espace Chat ou obtenir la liste des membres d'un espace Chat.
Les applications de chat ne nécessitent pas d'authentification pour répondre à une interaction utilisateur, sauf si elles appellent l'API Chat ou une autre API Google lors du traitement d'une réponse.
Pour envoyer des messages asynchrones ou effectuer des tâches pour le compte d'un utilisateur, les applications Chat envoient des requêtes RESTful à l'API Chat, ce qui nécessite une authentification et une autorisation.
Aucune authentification n'est requise pour les réponses aux interactions des utilisateurs
Les applications Google Chat n'ont pas besoin de s'authentifier en tant qu'utilisateur ou application Chat pour recevoir des événements d'interaction et y répondre de manière synchrone.
Les applications Google Chat reçoivent des événements d'interaction chaque fois qu'un utilisateur interagit ou appelle une application Chat, y compris:
- Un utilisateur envoie un message à une application Chat.
- Un utilisateur @mentionne une application Chat.
- Un utilisateur appelle l'une des commandes à barre oblique de l'application Chat.
Le schéma suivant illustre une séquence de requête/réponse entre un utilisateur de Chat et l'application Chat:

- L'utilisateur envoie un message à l'application Chat dans Google Chat.
- Google Chat transfère le message vers l'application.
- L'application reçoit le message, le traite et renvoie une réponse à Google Chat.
- Google Chat affiche la réponse pour l'utilisateur ou dans un espace.
Cette séquence se répète pour chaque événement d'interaction avec l'application Chat.
Les messages asynchrones nécessitent une authentification
Des messages asynchrones surviennent lorsqu'une application Chat envoie une requête à l'API Chat, ce qui nécessite une authentification et une autorisation.
En appelant l'API Chat, les applications de chat peuvent publier des messages sur Google Chat, ou effectuer des tâches et accéder aux données pour le compte d'un utilisateur. Par exemple, après avoir détecté une panne de serveur, une application Chat peut appeler l'API Chat pour:
- Créez un espace Chat dédié à l'enquête et à la résolution de l'indisponibilité.
- ajouter des membres à l'espace Chat ;
- Publier un message dans l'espace Chat pour fournir des détails sur l'indisponibilité
Le schéma suivant illustre une séquence de messages asynchrone entre une application Chat et un espace Chat:

- Une application Chat crée un message en appelant l'API Chat à l'aide de la méthode
spaces.messages.create
et inclut les identifiants utilisateur dans la requête HTTP. - Google Chat authentifie l'application Chat à l'aide du compte de service ou des identifiants utilisateur.
- Google Chat affiche le message de l'application dans un espace Chat spécifié.
Champs d'application de l'API Chat
Configurez l'écran de consentement OAuth de votre application et choisissez des champs d'application pour définir les informations à présenter aux utilisateurs et aux examinateurs d'applications, et enregistrez votre application pour pouvoir la publier ultérieurement.
Pour définir le niveau d'accès accordé à votre application, vous devez identifier et déclarer des champs d'application d'autorisation. Un champ d'application d'autorisation est une chaîne d'URI OAuth 2.0 contenant le nom de l'application Google Workspace, le type de données auquel elle accède et le niveau d'accès.
Champs d'application non sensibles
Code du champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Permet aux applications Chat d'afficher les discussions et d'envoyer des messages. Accorde l'accès à toutes les fonctionnalités disponibles pour les applications Chat. |
Champs d'application sensibles
Code du champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Créer des conversations et des espaces, et afficher ou mettre à jour les métadonnées (y compris les paramètres de l'historique) dans Chat |
https://www.googleapis.com/auth/chat.spaces.create
|
créer des conversations dans Chat ; |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Affichez le chat et les espaces dans Chat. |
https://www.googleapis.com/auth/chat.memberships
|
Affichez les participants à des conversations dans Chat, ajoutez-en et supprimez-en. |
https://www.googleapis.com/auth/chat.memberships.app
|
S'ajouter et se supprimer des conversations dans Google Chat |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Afficher les participants aux conversations Chat |
https://www.googleapis.com/auth/chat.messages.create
|
Rédigez et envoyez des messages dans Chat. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Affichez, ajoutez et supprimez les réactions aux messages dans Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
ajouter des réactions à un message dans Chat ; |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Affichez les réactions à un message dans Chat. |
Champs d'application restreints
Code du champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Supprimer des conversations et des espaces, ainsi que l'accès aux fichiers associés dans Chat |
https://www.googleapis.com/auth/chat.messages
|
Afficher, rédiger, envoyer, mettre à jour et supprimer les messages, et ajouter, afficher et supprimer les réactions aux messages. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Affichez les messages et les réactions dans Chat. |
Les champs d'application indiqués dans les tableaux précédents indiquent leur sensibilité, selon les définitions suivantes:
Non sensibles : ces champs d'application fournissent la plus petite sphère d'accès aux autorisations et ne nécessitent que la validation de base des applications. Pour en savoir plus sur cette exigence, consultez la section Étapes de préparation de la validation.
Sensible : ces champs d'application permettent à votre application d'accéder aux données Google d'un utilisateur spécifique après avoir reçu son autorisation. Vous devez effectuer une validation supplémentaire de l'application. Pour en savoir plus sur cette exigence, consultez la procédure pour les applications demandant des champs d'application sensibles.
Limités : ces champs d'application fournissent un accès étendu aux données utilisateur de Google et vous obligent à suivre la procédure de validation des niveaux d'accès restreints. Pour en savoir plus sur cette exigence, consultez Services d'API Google: Règles sur les données utilisateur et Exigences supplémentaires pour les champs d'application d'API spécifiques. Consultez également la procédure pour les applications demandant des champs d'application restreints.
Si votre application a besoin d'accéder à d'autres API Google, vous pouvez également ajouter ces champs d'application. Pour en savoir plus sur les champs d'application des API Google, consultez la page Utiliser OAuth 2.0 pour accéder aux API Google.
Pour en savoir plus sur les champs d'application des API Google Workspace, consultez Configurer l'écran de consentement OAuth et choisir des champs d'application.
Types d'authentification requise
Il existe deux façons de s'authentifier et d'autoriser les applications Chat avec l'API Chat: les identifiants utilisateur ou les comptes de service.
Grâce à l'autorisation via les identifiants utilisateur, une application Chat peut accéder aux données utilisateur et effectuer des actions en son nom. Les champs d'application OAuth spécifient les données et les actions autorisées. Toutefois, ces applications Chat ne peuvent pas être publiées en mode public. Pour en savoir plus, consultez Publier des applications Google Chat.
Avec l'autorisation d'application, une application Chat accède à l'API en tant qu'application à l'aide des identifiants du compte de service. L'autorisation des applications utilise toujours le champ d'application d'autorisation chat.bot
.
Si vous êtes administrateur de domaine, vous pouvez accorder une délégation d'autorité au niveau du domaine pour autoriser le compte de service d'une application à accéder aux données de vos utilisateurs sans que chacun d'eux donne son consentement. Après avoir configuré la délégation au niveau du domaine, vous pouvez effectuer des appels d'API à l'aide de votre compte de service pour emprunter l'identité d'un compte utilisateur. Bien qu'un compte de service soit utilisé pour l'authentification, la délégation au niveau du domaine emprunte l'identité d'un utilisateur et est donc considérée comme une authentification de l'utilisateur. Toute fonctionnalité nécessitant une authentification des utilisateurs peut utiliser la délégation au niveau du domaine.
Lorsque vous décidez du type d'identifiant à utiliser pour une requête API particulière, gardez à l'esprit que certaines méthodes d'API n'acceptent qu'un type d'identifiant particulier. Si une méthode API est compatible avec les deux identifiants, le type d'identifiant utilisé dans l'appel affecte le résultat renvoyé:
- Avec l'autorisation par l'application, les méthodes ne renvoient que les ressources auxquelles l'application peut accéder.
- Avec l'autorisation de l'utilisateur, les méthodes ne renvoient que les ressources auxquelles l'utilisateur peut accéder dans l'interface utilisateur Chat.
Par exemple, l'appel de la méthode ListSpaces
avec l'autorisation de l'application renvoie la liste des espaces dont l'application est membre. L'appel de ListSpaces
avec l'autorisation de l'utilisateur renvoie la liste des espaces dont l'utilisateur est membre. En pratique, votre application peut utiliser les deux types d'autorisation lors de l'appel de l'API Chat, en fonction de la fonctionnalité souhaitée.
Pour les appels d'API Chat asynchrones
Le tableau suivant répertorie les méthodes de l'API Chat et leurs champs d'application d'autorisation compatibles:
Méthode | Compatible avec l'authentification des utilisateurs | Compatible avec l'authentification de l'application | Champs d'application d'autorisation compatibles | |
---|---|---|---|---|
Espaces | ||||
Créer un espace | — |
|
||
Configurer un espace | — |
|
||
Obtenir un espace |
Avec l'option Authentification des utilisateurs :
|
|||
Répertorier les espaces |
Avec l'option Authentification des utilisateurs :
|
|||
Modifier un espace | — |
|
||
Supprimer un espace | — |
|
||
Trouver un message privé |
Avec l'option Authentification des utilisateurs :
|
|||
Membres | ||||
Créer un membre | — |
|
||
Obtenir un membre |
Avec l'option Authentification des utilisateurs :
|
|||
Membres de la liste |
Avec l'option Authentification des utilisateurs :
|
|||
Supprimer un membre | — |
|
||
Messages | ||||
Créer un message |
Avec l'option Authentification des utilisateurs :
|
|||
Recevoir un message |
Avec l'option Authentification des utilisateurs :
|
|||
Répertorier les messages | — |
|
||
Modifier un message |
Avec l'option Authentification des utilisateurs :
|
|||
Supprimer un message |
Avec l'option Authentification des utilisateurs :
|
|||
Réactions | ||||
Créer une réaction | — |
|
||
Listez les réactions | — |
|
||
Supprimer une réaction | — |
|
||
Contenus multimédias et pièces jointes | ||||
Importer du contenu multimédia en tant que fichier joint | — |
|
||
Télécharger le contenu multimédia |
Avec l'option Authentification des utilisateurs :
|
|||
Recevoir une pièce jointe | — |
|
Pour les événements d'interaction avec l'application Chat
Le tableau suivant répertorie les interactions courantes des utilisateurs avec les applications Chat, et indique si l'authentification est requise ou compatible:
Scénario | Aucune authentification requise | Compatible avec l'authentification des utilisateurs | Compatible avec l'authentification de l'application | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recevoir des messages de: |
|
|||||||||||||||
Pour répondre aux messages: |
|
|||||||||||||||
Pour envoyer de nouveaux messages: |
|
Articles associés
- Pour en savoir plus sur l'authentification et l'autorisation dans Google Workspace, consultez la page En savoir plus sur l'authentification et l'autorisation.
- Pour en savoir plus sur l'authentification et l'autorisation dans Google Cloud, consultez la page Présentation de l'authentification.
- Pour en savoir plus sur les comptes de service, consultez la page Comptes de service.
- Pour en savoir plus sur la manière dont les API Google exploitent OAuth 2.0, consultez la page Utiliser OAuth 2.0 pour accéder aux API Google.
- Configurez l'authentification et l'autorisation avec des identifiants utilisateur ou un compte de service.