Cette section explique comment effectuer les actions suivantes pour les applications Google Chat basées sur des points de terminaison HTTP : vérifier que les requêtes adressées à votre point de terminaison proviennent bien de Chat.
Pour distribuer des événements d'interaction au point de terminaison de votre application Chat, Google envoie des requêtes à votre service. Pour vérifier que la requête provient de Google, Chat inclut un jeton porteur dans l'en-tête Authorization
de chaque requête HTTPS envoyée à votre point de terminaison. Exemple :
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
La chaîne AbCdEf123456
dans l'exemple précédent correspond à l'autorisation du support
à partir d'un jeton d'accès. Il s'agit d'un jeton de chiffrement produit par Google. Le type de support
et la valeur
audience
dépend du type d'audience d'authentification que vous avez sélectionné
configurer l'application Chat.
Si vous avez implémenté votre application Chat à l'aide de Cloud Functions ou de Cloud Run, Cloud IAM gère automatiquement la validation des jetons. Toi il vous suffit d'ajouter le compte de service Google Chat en tant que demandeur autorisé. Si votre application implémente son propre serveur HTTP, vous pouvez vérifier votre jeton de support à l'aide d'une bibliothèque cliente des API Google Open Source:
- Java: https://github.com/google/google-api-java-client
- Python: https://github.com/google/google-api-python-client
- Node.js: https://github.com/google/google-api-nodejs-client
- .NET: https://github.com/google/google-api-dotnet-client
Si le jeton n'est pas validé pour l'application Chat, votre
doit répondre à la requête avec un code de réponse HTTPS
401 (Unauthorized)
Authentifier les requêtes à l'aide de Cloud Functions ou de Cloud Run
Si votre logique de fonction est implémentée à l'aide de Cloud Functions ou de Cloud Run, vous doit sélectionner URL du point de terminaison HTTP dans le champ Audience de l'authentification de l'application Chat paramètre de connexion et vérifiez que le L'URL du point de terminaison HTTP dans la configuration correspond à l'URL de la fonction Cloud ou point de terminaison Cloud Run.
Vous devez ensuite autoriser le compte de service Google Chat
chat@system.gserviceaccount.com
en tant que demandeur.
Pour utiliser Cloud Functions (1re génération):
Console
Après avoir déployé votre fonction sur Google Cloud:
Dans la console Google Cloud, accédez à la page Cloud Functions.
Dans la liste Cloud Functions, cochez la case située à côté du champ . (Ne cliquez pas directement sur la fonction.)
Cliquez sur Autorisations en haut de l'écran. Le panneau Autorisations s'affiche.
Cliquez sur Ajouter un compte principal.
Dans le champ Nouveaux comptes principaux, saisissez
chat@system.gserviceaccount.com
.Sélectionnez le rôle Cloud Functions > Demandeur Cloud Functions du dans le menu déroulant Sélectionnez un rôle.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud functions add-iam-policy-binding
:
gcloud functions add-iam-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com' \
--role='roles/cloudfunctions.invoker'
Remplacez RECEIVING_FUNCTION
par le nom de la fonction de votre application Chat.
Pour utiliser les services Cloud Functions (2e génération) ou Cloud Run, procédez comme suit:
Console
Après avoir déployé votre fonction ou votre service sur Google Cloud:
Dans la console Google Cloud, accédez à la page Cloud Run :
Dans la liste des services Cloud Run, cochez la case située à côté du champ . (Ne cliquez pas directement sur la fonction.)
Cliquez sur Autorisations en haut de l'écran. Le panneau Autorisations s'affiche.
Cliquez sur Ajouter un compte principal.
Dans le champ Nouveaux comptes principaux, saisissez
chat@system.gserviceaccount.com
.Sélectionnez le rôle Cloud Run > Demandeur Cloud Run du dans le menu déroulant Sélectionnez un rôle.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud functions add-invoker-policy-binding
:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com'
Remplacez RECEIVING_FUNCTION
par le nom de la fonction de votre application Chat.
Authentifier les requêtes HTTP avec un jeton d'ID
Si le champ "Audience d'authentification" de l'application Chat
paramètre de connexion est défini sur
URL du point de terminaison HTTP
Le jeton d'autorisation du support inclus dans la requête est un jeton OpenID Connect signé par Google.
(OIDC) jeton d'ID.
Le champ email
est défini sur chat@system.gserviceaccount.com
.
Le champ Authentication Audience (Audience d'authentification) est défini sur l'URL que vous avez configurée pour Google Chat afin d'envoyer des requêtes à votre application Chat. Par exemple, si le point de terminaison configuré de votre application Chat est https://example.com/app/
, le champ Authentication Audience (Audience d'authentification) du jeton d'ID est https://example.com/app/
.
Les exemples suivants montrent comment vérifier que le jeton de support a été émis par Google Chat et ciblant votre application à l'aide de la bibliothèque cliente Google OAuth.
Java
Python
Node.js
Authentifier les requêtes avec un jeton JWT de numéro de projet
Si le champ "Authentication Audience" (Audience d'authentification) du paramètre de connexion de l'application Chat est défini sur Project
Number
, le jeton d'autorisation de porteur de la requête est un jeton Web JSON (JWT) autosigné, délivré et signé par chat@system.gserviceaccount.com
.
Le champ audience
est défini sur le numéro de projet Google Cloud que vous avez utilisé pour créer votre application Chat. Par exemple, si le numéro de projet Cloud de votre application Chat est 1234567890
, le champ audience
du JWT est 1234567890
.
Les exemples suivants montrent comment vérifier que le jeton de support a été émis par Google Chat et ciblant votre projet à l'aide de la bibliothèque cliente Google OAuth.
Java
Python
Node.js
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 l'autorisation
- Pour en savoir plus sur l'authentification et l'autorisation dans Chat, consultez la section Présentation de l'authentification.
- Configurez l'authentification et l'autorisation avec des identifiants utilisateur ou un compte de service.