L'authentification et l'autorisation sont des mécanismes utilisés pour vérifier l'identité et l'accès aux ressources, respectivement. 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 étapes d'authentification et d'autorisation de 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, configurer votre application Chat et configurer 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 de l'authentification d'un utilisateur qui n'a pas encore été accordée, elle invite l'utilisateur à se connecter.
Demander des ressources: votre application demande l'accès avec habilitations que vous spécifiez lors de la configuration de l'authentification.
Demander l'autorisation: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 ou non votre application aux données demandées. L'authentification avec un compte de service sans le consentement de l'utilisateur.
Envoyez une demande de ressources approuvée:si l'utilisateur accepte les d'autorisation, votre app bundles les identifiants et le certificat des champs d'application dans une requête. La requête est envoyée au serveur d'autorisation Google pour obtenir un jeton d'accès.
Google renvoie un jeton d'accès:ce jeton contient une liste de les niveaux d'accès accordé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 à ses ressources.
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 seul jeton d'accès, 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 de plus d'accès, elle demande à l'utilisateur d'accorder de nouveaux champs d'application, ce qui génère une nouvelle requête pour obtenir un jeton d'accès (étapes 3 à 6).
Lorsque les applications Chat nécessitent une authentification
Les applications de chat peuvent envoyer des messages en réponse à une interaction de l'utilisateur. de manière asynchrone. Ils peuvent également effectuer des tâches en son nom, comme créer un espace Chat ou obtenir la liste des personnes dans un espace Chat.
Les applications de chat ne requièrent pas d'authentification pour répondre à une interaction avec l'utilisateur, sauf si l'application Chat appelle API Chat ou une autre API Google lors du traitement d'une réponse.
Pour envoyer des messages asynchrones ou effectuer des tâches au nom d'un utilisateur, les applications Chat envoient des requêtes REST à l'API Chat, qui nécessitent une authentification et une autorisation.
Les réponses aux interactions des utilisateurs ne nécessitent pas d'authentification
Les applications Google Chat n'ont pas besoin de s'authentifier Application Chat permettant de recevoir des messages et d'y répondre de manière synchrone événements d'interaction.
Les applications Google Chat reçoivent des événements d'interaction chaque fois qu'un utilisateur interagit ou appelle une application Chat, y compris ce qui suit:
- 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 Chat et l'application Chat :
- L'utilisateur envoie un message à l'application Chat dans Google Chat.
- Google Chat transfère le message à 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.
Authentification requise pour les messages asynchrones
Les messages asynchrones se produisent lorsqu'une application Chat effectue à API Chat qui nécessite une authentification et une autorisation.
En appelant l'API Chat, les applications Chat peuvent publier des messages dans Google Chat, effectuer des tâches et accéder aux données au nom d'un utilisateur. Pour Par exemple, après avoir détecté une panne de serveur, une application de chat peut appeler API Chat pour:
- Créez un espace Chat dédié à l'étude et à la résolution de l'indisponibilité.
- Ajoutez des personnes à l'espace Chat.
- Publiez un message dans l'espace Chat pour fournir des détails sur le en cas d'interruption de service.
Le schéma suivant illustre une séquence de messages asynchrones 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 avec un compte de service ou des identifiants utilisateur.
- Google Chat affiche le message de l'application dans un espace Chat spécifié.
Champs d'application des API Chat
Configurez l'écran de consentement OAuth et choisissez des autorisations pour définir les informations qui s'affichent auprès des utilisateurs et des examinateurs de l'application, 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 de l'autorisation. Un champ d'application de l'autorisation est une chaîne d'URI OAuth 2.0 qui contient le nom de l'application Google Workspace, le type de données auxquelles elle accède et le niveau d'accès.
Champs d'application non sensibles
Code de champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Permet aux applications Chat d'afficher les discussions et d'envoyer des messages. Ce champ d'application n'est compatible qu'avec l'authentification des applications avec des comptes de service. Toi ne peut pas s'authentifier avec les identifiants de l'utilisateur délégation au niveau du domaine à l'aide de ce champ d'application. |
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 voir ou modifier les métadonnées (y compris les paramètres d'historique et d'accès) 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
|
Afficher les participants aux conversations dans Chat, en ajouter, les modifier ou en supprimer |
https://www.googleapis.com/auth/chat.memberships.app
|
S'ajouter aux conversations dans Google Chat et s'en supprimer |
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
|
Afficher, ajouter et supprimer des réactions à des messages dans Chat |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Ajoutez des réactions à un message dans Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Afficher les réactions à un message dans Chat |
https://www.googleapis.com/auth/chat.users.readstate
|
Afficher et modifier l'heure de dernière lecture des conversations Chat |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
Afficher l'heure de dernière lecture des conversations Chat |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
Afficher les discussions et les espaces appartenant au domaine de l'administrateur dans Chat |
https://www.googleapis.com/auth/chat.admin.spaces
|
Afficher ou modifier les discussions et les espaces appartenant au domaine de l'administrateur dans Chat. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
Afficher les participants et les administrateurs dans les conversations appartenant au domaine de l'administrateur dans Chat |
https://www.googleapis.com/auth/chat.admin.memberships
|
Affichez, ajoutez, modifiez et supprimez des participants et des gestionnaires dans les conversations appartenant au domaine de l'administrateur dans Chat. |
https://www.googleapis.com/auth/chat.app.spaces
|
créer des conversations et des espaces, et afficher ou mettre à jour les métadonnées (y compris paramètres d'historique et d'accès) dans Chat. Nécessite approbation de l'administrateur. Ce champ d'application n'accepte que l'authentification des applications avec les comptes de service. Toi ne peut pas s'authentifier avec les identifiants de l'utilisateur délégation au niveau du domaine à l'aide de ce champ d'application. |
https://www.googleapis.com/auth/chat.app.spaces.create
|
créer des conversations et des espaces dans Chat ; Nécessite l'approbation de l'administrateur. Ce champ d'application n'est compatible qu'avec l'authentification des applications avec des comptes de service. Vous ne pouvez pas vous authentifier avec des identifiants utilisateur ni avec une délégation au niveau du domaine à l'aide de ce champ d'application. |
https://www.googleapis.com/auth/chat.app.memberships
|
Voir, ajouter, modifier et supprimer des participants dans les conversations et les espaces dans Chat. Nécessite l'approbation d'un administrateur. Ce champ d'application n'est compatible qu'avec l'authentification des applications avec des comptes de service. Toi ne peut pas s'authentifier avec les identifiants de l'utilisateur délégation au niveau du domaine à l'aide de ce champ d'application. |
https://www.googleapis.com/auth/chat.customemojis
|
Afficher, créer et supprimer des emoji personnalisés dans Chat |
Champs d'application restreints
Code de champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Supprimer des conversations et des espaces, et supprimer l'accès aux fichiers associés dans Chat. |
https://www.googleapis.com/auth/chat.import
|
Importer des espaces, des messages et des membres dans Chat Pour en savoir plus, consultez Autoriser les applications Chat à importer des données. |
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
|
Afficher les messages et les réactions dans Chat |
https://www.googleapis.com/auth/chat.admin.delete
|
Supprimer des conversations et des espaces appartenant au domaine de l'administrateur, et supprimer l'accès aux fichiers associés dans Chat. |
https://www.googleapis.com/auth/chat.app.delete
|
supprimer des conversations et des espaces, et supprimer l'accès aux fichiers associés ; dans Chat. Nécessite l'approbation de l'administrateur. Ce champ d'application n'accepte que l'authentification des applications avec les comptes de service. Vous ne pouvez pas vous authentifier avec des identifiants utilisateur ni avec une délégation au niveau du domaine à l'aide de ce champ d'application. |
Les champs d'application des tableaux précédents indiquent leur sensibilité, conformément aux définitions suivantes :
Non sensible : ces champs d'application fournissent la plus petite sphère de autorisation d'accès et ne nécessitent qu'une vérification de base de l'application. Pour en savoir plus sur cette exigence, consultez la section Étapes à suivre pour préparer 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 l'autorisation de cet utilisateur. Cela nécessite de procéder à une vérification supplémentaire de l'application. Pour en savoir plus sur cette exigence, consultez la section Étapes à suivre pour les applications qui demandent des champs d'application sensibles.
Restreints : ces habilitations offrent un accès étendu aux données utilisateur Google et vous devez suivre la procédure de validation des habilitations restreintes. Pour en savoir plus sur cette exigence, consultez les Règles sur les données utilisateur dans les services d'API Google et les Exigences supplémentaires pour les champs d'application d'API spécifiques. Consultez également Procédure à suivre pour les applications demandant des restrictions champs d'application.
Si votre application a besoin d'accéder à d'autres API Google, vous pouvez ajouter ces niveaux d'accès . Pour plus d'informations sur les champs d'application des API Google, consultez la page Utilisation d'OAuth 2.0 pour Accédez aux API Google.
Pour en savoir plus sur les habilitations des API Google Workspace, consultez la page Configurer l'écran de consentement OAuth et choisir des habilitations.
Types d'authentification requis
Les applications Chat peuvent s'authentifier et autoriser l'API Chat:
- Authentification des utilisateurs
- Authentification des utilisateurs permet à une application Chat d'accéder aux données utilisateur et d'effectuer des actions pour le compte d'un utilisateur. Les champs d'application OAuth spécifient les données et les actions autorisées. Sauf si l'application Chat a été installée par un administrateur ou a reçu une délégation au niveau du domaine, la première fois que l'application Chat effectue une action au nom d'un utilisateur, celui-ci doit l'autoriser à l'aide de l'écran d'autorisation OAuth.
- Authentification des applications
L'authentification des applications permet L'application Chat utilise les identifiants du compte de service et l'accès des données et de réaliser des actions comme elle-même. Étant donné que l'application Chat utilise ses propres identifiants pour accéder aux ressources et les utiliser, les utilisateurs finaux n'ont pas besoin d'approuver les appels d'API de l'application Chat. Vous ne pouvez pas ajouter de champs d'autorisation OAuth compatibles avec l'autorisation d'application à l'écran d'autorisation OAuth.
Deux types de champs d'application d'autorisation OAuth sont compatibles avec l'authentification des applications:
https://www.googleapis.com/auth/chat.bot
: Votre application Chat peut appeler l'API Google Chat qui prennent en charge ce champ d'application d'autorisation pour créer, mettre à jour, répertorier ou supprimer les ressources auxquelles il a accès, comme les messages des espaces auxquelles les utilisateurs finaux ajoutent votre application Chat. Votre application Chat peut s'accorder elle-même cette portée d'autorisation, sans autorisation d'administrateur ni d'utilisateur final.https://www.googleapis.com/auth/chat.app.*
(Preview développeur): L'utilisation de ces champs d'application nécessite l'approbation unique d'un administrateur. À recevoir l'approbation de l'administrateur, Préparer le compte de service de l'application Chat pour recevoir l'approbation de l'administrateur en créant un client OAuth compatible avec Google Workspace Marketplace la configuration de l'application dans le SDK Google Workspace Marketplace. Ces niveaux d'accès autoriser votre application Chat à appeler des API Google Chat spécifiques méthodes. Par exemple,chat.app.spaces.create
permet aux applications de créer des espaces Chat.
Si une méthode est compatible avec l'authentification des utilisateurs ou des applications, l'API Chat renvoie des résultats différents en fonction du type d'authentification que vous utilisez :
- Avec l'authentification des applications, les méthodes renvoient uniquement les ressources l'application Chat peut y accéder ;
- Avec l'authentification utilisateur, les méthodes ne renvoient que les ressources dont l'utilisateur auxquels vous avez accès.
Par exemple, l'appel de la méthode spaces.list()
avec l'autorisation de l'application renvoie la liste des espaces auxquels l'application Chat est membre.
Appeler spaces.list()
avec l'autorisation de l'utilisateur renvoie la liste des espaces dont l'utilisateur est membre. Dans
vous pouvez utiliser les deux types
lors de l'appel de l'API Chat, selon la conception
et les fonctionnalités de votre application Chat.
Pour les appels d'API Chat asynchrones
Le tableau suivant répertorie les méthodes de l'API Chat et les méthodes compatibles champs d'application des autorisations:
Méthode | Compatible avec l'authentification des utilisateurs | Authentification par l'application compatible | Champs d'application d'autorisation compatibles | |
---|---|---|---|---|
Espaces | ||||
Créer un espace |
Avec l'authentification des utilisateurs:
|
|||
Configurer un espace | — |
Avec l'authentification des utilisateurs:
|
||
Obtenir un espace |
Avec l'authentification des utilisateurs :
|
|||
Lister les espaces |
Avec l'authentification des utilisateurs :
|
|||
Espaces de recherche | — |
Avec l'authentification des utilisateurs par le biais de droits d'administrateur:
|
||
Modifier un espace |
Avec l'authentification des utilisateurs :
|
|||
Supprimer un espace |
Avec l'authentification des utilisateurs:
|
|||
Terminer le processus d'importation d'un espace | — |
Avec l'authentification des utilisateurs :
|
||
Rechercher un message privé |
Avec l'authentification des utilisateurs:
|
|||
Membres | ||||
Créer un membre |
Avec l'authentification des utilisateurs :
|
|||
Récupérer un membre |
Avec l'authentification des utilisateurs :
|
|||
Lister les membres |
Avec l'authentification des utilisateurs:
|
|||
Supprimer un membre |
Avec l'authentification des utilisateurs :
|
|||
Modifier un membre |
Avec l'authentification des utilisateurs :
|
|||
Messages | ||||
Créer un message |
Avec l'authentification des utilisateurs :
|
|||
Récupérer un message |
Avec l'authentification des utilisateurs :
|
|||
Lister les messages | — |
Avec l'authentification des utilisateurs :
|
||
Modifier un message |
Avec l'authentification des utilisateurs:
|
|||
Supprimer un message |
Avec l'authentification des utilisateurs:
|
|||
Réactions | ||||
Créer une réaction | — |
Avec l'authentification des utilisateurs:
|
||
Lister les réactions | — |
Avec l'authentification des utilisateurs :
|
||
Supprimer une réaction | — |
Avec l'authentification des utilisateurs :
|
||
Emoji personnalisés | ||||
Créer un emoji personnalisé | — |
Avec l'authentification des utilisateurs :
|
||
Supprimer un emoji personnalisé | — |
Avec l'authentification des utilisateurs:
|
||
Obtenir un emoji personnalisé | — |
Avec l'authentification des utilisateurs:
|
||
Répertorier des emoji personnalisés | — |
Avec l'authentification des utilisateurs:
|
||
Médias et pièces jointes | ||||
Importer des contenus multimédias en tant que pièce jointe | — |
Avec l'authentification des utilisateurs:
|
||
Télécharger des contenus multimédias |
Avec l'authentification des utilisateurs:
|
|||
Recevoir une pièce jointe | — |
Avec l'authentification de l'application :
|
||
États de lecture des utilisateurs | ||||
Obtenir l'état de lecture de l'espace d'un utilisateur | — |
Avec l'authentification des utilisateurs:
|
||
Mettre à jour l'état de lecture d'un espace utilisateur | — |
Avec l'authentification des utilisateurs:
|
||
Obtenir l'état de lecture d'un fil de discussion d'un utilisateur | — |
Avec l'authentification des utilisateurs:
|
||
Événements de l'espace | ||||
Recevoir les événements de l'espace | — |
Avec l'authentification des utilisateurs,
vous devez utiliser un champ
d'application basé sur le
type d'événement:
|
||
Lister les événements de l'espace | — |
Avec l'authentification des utilisateurs,
vous devez utiliser un champ d'application
type d'événement inclus dans la requête:
|
Pour les événements d'interaction avec l'application Chat
Le tableau suivant liste les façons courantes avec lesquelles les utilisateurs interagissent avec Applications de chat et si l'authentification est requise ou prise en charge:
Scénario | Aucune authentification requise | Compatible avec l'authentification des utilisateurs | Authentification par l'application compatible | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recevoir des messages de: |
|
|||||||||||||||
Répondre aux messages: |
|
|||||||||||||||
Envoyer de nouveaux messages : |
|
Articles associés
- Pour une présentation de l'authentification et de l'autorisation dans Google Workspace, voir En savoir plus sur l'authentification et autorisation.
- Pour une présentation de l'authentification et de l'autorisation dans Google Cloud, consultez 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 l'utilisation d'OAuth 2.0 par les API Google, consultez la page Utiliser OAuth 2.0 pour accéder aux API Google.
- Configurer l'authentification et l'autorisation avec identifiants utilisateur ou un compte de service.