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 comment l'authentification et pour les applications Chat et les requêtes API Chat.
Présentation du processus
Le schéma suivant illustre les principales étapes d'authentification pour Google Chat:
![Principales étapes d'authentification et d'autorisation pour Google Chat](https://developers-dot-devsite-v2-prod.appspot.com/static/workspace/chat/images/auth-process.png?authuser=3&hl=fr)
Configurez un projet Google Cloud, activez l'API Chat et configurez votre Application Chat:pendant le développement, vous créez 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.
API Call Chat:lorsque votre application appelle l'API l'API Chat, elle envoie des identifiants d'authentification au API Chat. Si votre application s'authentifie avec un compte de service, les identifiants sont envoyés du code de votre application. Si votre application nécessite d'appeler l'API Chat en utilisant l'authentification d'un utilisateur qui n'a pas encore été accordée, l'invite de commande à 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 l'accès 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 à la l'API Google Chat au-delà de la durée de vie d'un jeton d'accès unique, elle peut obtenir 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 pour accorder de nouveaux champs d'application, ce qui entraîne une nouvelle demande d'obtention d'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 pour le compte d'un utilisateur, par exemple créer un espace Chat ou obtenir la liste des membres d'une 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, tout en le traitement d'une réponse.
Pour envoyer des messages asynchrones ou effectuer des tâches au nom d'un utilisateur, Les applications de chat envoient des requêtes RESTful au API Chat qui requièrent 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.
Le schéma suivant illustre une séquence requête-réponse entre une Utilisateur Chat et application Chat:
<ph type="x-smartling-placeholder">![Aucune autorisation requise pour les événements d'interaction avec l'application Chat](https://developers-dot-devsite-v2-prod.appspot.com/static/workspace/chat/images/auth-synchronous.png?authuser=3&hl=fr)
- 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 interaction avec l'application Chat .
Les messages asynchrones nécessitent une authentification
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 à Google Chat, ou d'effectuer des tâches et d'accéder à des données pour le compte 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'examen et à la résolution du problème. en cas d'interruption de service.
- 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 asynchrone entre un Application Chat et espace Chat:
![Authentification requise pour les messages asynchrones](https://developers-dot-devsite-v2-prod.appspot.com/static/workspace/chat/images/auth-asynchronous.png?authuser=3&hl=fr)
- Une application Chat crée un message en appelant la méthode
API Chat à l'aide du
spaces.messages.create
de commande, et inclut les identifiants de l'utilisateur dans la requête HTTP. - Google Chat authentifie l'application Chat avec compte de service ou identifiants utilisateur.
- Google Chat affiche le message de l'application dans une application Chat spécifiée espace.
Champs d'application des API Chat
Configurer l'écran de consentement OAuth et choisir des niveaux d'accès de définir les informations présentées aux utilisateurs et aux examinateurs de l'application, 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 niveaux d'autorisation ; Un champ d'application d'autorisation est un URI OAuth 2.0 qui contient le nom de l'application Google Workspace, le type de données les accès et le niveau d'accès.
Champs d'application non sensibles
Code du champ d'application | Description |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Le champ d'application Permet aux applications Chat d'afficher les discussions et d'envoyer des messages. Dons 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 modifier les métadonnées (y compris 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
|
Affichez les participants aux conversations dans Chat, ajoutez-en, modifiez-les et supprimez-en. |
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
|
Affichez les participants dans les 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 des réactions aux 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
|
Affichez les réactions à un message dans Chat. |
https://www.googleapis.com/auth/chat.users.readstate
|
Affichez et modifiez 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
|
Affichez les participants et les gestionnaires 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. |
Champs d'application restreints
Code du 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 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 des messages, et ajouter, afficher et supprimer des réactions aux messages. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Consultez 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. |
Les champs d'application des tableaux précédents indiquent leur sensibilité, en fonction du 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 plus d'informations sur cette exigence, consultez la section Étapes pour préparer validation.
Sensible : ces niveaux d'accès permettent à votre application d'accéder à une les données Google de l'utilisateur après avoir reçu son autorisation. Cela nécessite de procéder à une vérification supplémentaire de l'application. Pour en savoir plus à ce sujet, exigence, consultez la Procédure pour les applications demandant des informations champs d'application.
Limité : ces niveaux d'accès offrent un large accès aux données utilisateur Google. et vous obligeront à suivre la procédure de validation du champ d'application restreint. Pour pour plus d'informations sur cette exigence, reportez-vous à la page Google API Services: User Data Règlement et les exigences supplémentaires pour une API spécifique Champs d'application. 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 champs d'application des API Google Workspace, consultez Configurez l'écran de consentement OAuth et choisissez des niveaux d'accès.
Types d'authentification requises
Les applications Chat peuvent s'authentifier et autoriser API Chat: identifiants utilisateur ou comptes de service.
Avec l'autorisation des identifiants utilisateur, une application Chat peut accéder aux données des utilisateurs et effectuer des actions au nom d'un utilisateur. Les champs d'application OAuth spécifient les données et les actions autorisées.
Avec l'autorisation d'application, une application Chat accède
l'API en tant qu'application à l'aide des identifiants du compte de service. Toujours autoriser les applications
utilise le champ d'application d'autorisation chat.bot
.
Pour décider quel 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 particulier identifiant. Si une méthode API accepte les deux identifiants, le type d'identifiant utilisé dans l'appel affecte le résultat renvoyé:
- Avec l'autorisation de l'application, les méthodes ne renvoient que les ressources que l'application peut y accéder.
- Avec l'autorisation de l'utilisateur, les méthodes ne renvoient que les ressources que l'utilisateur user auxquels vous pouvez accéder dans l'interface utilisateur de Chat.
Par exemple, appeler la méthode ListSpaces
avec l'autorisation de l'application renvoie le
liste des espaces dont l'application est membre. Appeler ListSpaces
avec l'utilisateur
L'autorisation affiche la liste des espaces dont l'utilisateur est membre. Dans
il est possible que votre application utilise les deux types d'autorisation lors de l'appel
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 les méthodes compatibles champs d'application des autorisations:
Méthode | Compatible avec l'authentification des utilisateurs | Compatibilité avec l'authentification des applications | 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:
|
|||
Rechercher dans les espaces |
Avec l'authentification des utilisateurs avec des 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:
|
|||
Membres de la liste |
Avec l'authentification des utilisateurs:
|
|||
Supprimer un membre | — |
Avec l'authentification des utilisateurs:
|
||
Mettre à jour un membre | — |
Avec l'authentification des utilisateurs:
|
||
Messages | ||||
Créer un message |
Avec l'authentification des utilisateurs:
|
|||
Recevoir 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:
|
||
Médias et pièces jointes | ||||
Importer un fichier multimédia en 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 des applications:
|
||
États de lecture par l'utilisateur | ||||
Obtenir l'état de lecture d'un espace 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 | ||||
<ph type="x-smartling-placeholder"></ph> 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:
|
||
<ph type="x-smartling-placeholder"></ph> Répertorier 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 interactions courantes des utilisateurs avec les applications Chat, et indique si une authentification est requise ou compatible:
Scénario | Aucune authentification requise | Compatible avec l'authentification des utilisateurs | Compatibilité avec l'authentification des applications | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recevoir les messages de: |
|
|||||||||||||||
Répondre aux messages: |
|
|||||||||||||||
Pour 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 Comptes de service :
- Pour savoir comment les API Google exploitent OAuth 2.0, consultez Utiliser le protocole OAuth 2.0 pour accéder aux API Google
- Configurer l'authentification et l'autorisation avec identifiants utilisateur ou un compte de service.