Authentifizierung und Autorisierung sind Mechanismen zur Überprüfung der Identität und Zugriff auf Ressourcen. In diesem Dokument wird erläutert, wie Authentifizierung und für Chat-Apps und Chat API-Anfragen.
Prozessübersicht
Das folgende Diagramm zeigt die obersten Schritte der Authentifizierung Autorisierung für Google Chat:
Konfigurieren Sie ein Google Cloud-Projekt, aktivieren Sie die Chat API und konfigurieren Sie Ihr Chat-App: Während der Entwicklung erstellen Sie eine Google Cloud-Projekt Im Google Cloud-Projekt aktivieren Sie die Chat API, die Chat-App konfigurieren und die Authentifizierung einrichten. Weitere Informationen finden Sie unter Entwickeln mit Google Workspace und Chat-App erstellen.
Call Chat API:Wenn Ihre App die Methode Chat API senden, werden Anmeldedaten zur Authentifizierung an den Chat API Wenn sich Ihre Anwendung mit einem Dienstkonto authentifiziert, werden die Anmeldedaten Teil Ihres App-Codes sein. Wenn für Ihre App ein Aufruf der Chat API erforderlich ist die noch nicht gewährt wurde, wird der um sich anzumelden.
Ressourcen anfordern: Ihre App bittet um Zugriff mit Bereiche die Sie beim Einrichten der Authentifizierung angeben.
Einwilligung einholen:Wenn Ihre App als Nutzer authentifiziert wird, zeigt Google OAuth-Zustimmungsbildschirm zu erstellen, damit der Nutzer entscheiden kann, ob er Ihrer Anwendung auf die angeforderten Daten zugreifen können. Bei der Authentifizierung mit einem Dienstkonto müssen Sie die Einwilligung der Nutzer einholen.
Genehmigte Ressourcenanfrage senden:Wenn der Nutzer in die werden die Anmeldedaten und die vom Nutzer genehmigten -Bereichen in eine Anfrage. Die Anfrage wird an den Autorisierungsserver von Google gesendet um ein Zugriffstoken zu erhalten.
Google gibt ein Zugriffstoken zurück: Das Zugriffstoken enthält eine Liste mit zugeteilten Bereichen. Wenn die zurückgegebene Liste von Bereichen restriktiver ist als die angeforderte Bereiche deaktiviert, deaktiviert Ihre Anwendung alle durch das Token beschränkten Features.
Zugriff angeforderter Ressourcen:Ihre App verwendet das Zugriffstoken von Google, um Chat API aufrufen und auf Chat API-Ressourcen zugreifen
Aktualisierungstoken abrufen (optional): Wenn Ihre Anwendung auf das Google Chat API über die Lebensdauer eines Zugriffstokens hinaus Aktualisierungstoken. Weitere Informationen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen
Weitere Ressourcen anfordern:Wenn Ihre App mehr Zugriff benötigt, wird der Nutzer gefragt. um neue Bereiche zu gewähren. Dies führt zu einer neuen Anfrage zum Abrufen eines Zugriffstokens. (Schritte 3–6).
Wann Chat-Apps eine Authentifizierung erfordern
Chat-Apps können Nachrichten als Antwort auf eine Nutzerinteraktion senden. asynchron programmiert. Sie können auch Aufgaben im Namen eines Nutzers ausführen, z. B. zum Erstellen eines Chatbereichs oder zum Abrufen einer Liste von Personen in einem Chatbereich.
Chat-Apps benötigen keine Authentifizierung, um auf eine Interaktion des Nutzers, es sei denn, die Chat-App ruft die Chat API oder eine andere Google API verwenden, während die Verarbeitung einer Antwort.
Um asynchrone Nachrichten zu senden oder Aufgaben im Namen eines Nutzers auszuführen, Chat-Apps senden RESTful-Anfragen an die Chat API die eine Authentifizierung und Autorisierung erfordern.
Für Antworten auf Nutzerinteraktionen ist keine Authentifizierung erforderlich
Für Google Chat-Apps ist keine Authentifizierung als Nutzer oder Chat-App zum synchronen Empfangen und Antworten Interaktionsereignisse.
Google Chat-Apps empfangen Interaktionsereignisse, wenn ein Nutzer interagiert oder ruft eine Chat-App auf, einschließlich der folgenden:
- Ein Nutzer sendet eine Nachricht an eine Chat-App.
- Ein Nutzer erwähnt eine Chat-App mit @.
- Ein Nutzer ruft eine der Slash-Befehlen.
Das folgende Diagramm zeigt eine Anfrage-Antwort-Sequenz zwischen einer Chat-Nutzer und Chat-App:
<ph type="x-smartling-placeholder">- Der Nutzer sendet eine Nachricht an die Chat-App in Google Chat
- Google Chat leitet die Nachricht an die App weiter.
- Die Anwendung empfängt die Nachricht, verarbeitet sie und gibt eine Antwort an Google Chat
- Google Chat rendert die Antwort für den Nutzer oder in einem Gruppenbereich.
Diese Sequenz wiederholt sich für jede Chat-App-Interaktion .
Für asynchrone Nachrichten ist eine Authentifizierung erforderlich
Asynchrone Nachrichten treten auf, wenn eine Chat-App eine an den Chat API was eine Authentifizierung und Autorisierung erfordert.
Durch Aufrufen der Chat API können Chat-Apps Nachrichten posten an Google Chat senden oder im Namen eines Nutzers Aufgaben erledigen und auf Daten zugreifen. Für Beispielsweise kann eine Chat-App nach einem Serverausfall die Chat API an:
- Erstellen Sie einen Chatbereich für die Untersuchung und Behebung des Ausfall.
- Fügen Sie dem Chatbereich Personen hinzu.
- Posten Sie eine Nachricht im Chatbereich mit Details zur Ausfall.
Das folgende Diagramm zeigt eine asynchrone Nachrichtensequenz zwischen einem Chat-App und ein Chatbereich:
- Eine Chat-App erstellt eine Nachricht, indem sie die
Chat API mit dem
spaces.messages.create
und enthält Nutzeranmeldedaten in der HTTP-Anfrage. - Google Chat authentifiziert die Chat-App mit Dienstkonto- oder Nutzeranmeldedaten.
- Google Chat rendert die Nachricht der App in einem bestimmten Chat Leerzeichen.
Chat API-Bereiche
OAuth-Zustimmungsbildschirm konfigurieren und Bereiche auswählen definieren, welche Informationen Nutzern und App-Prüfern angezeigt werden, und registrieren um sie später veröffentlichen zu können.
Um die Zugriffsebene für Ihre App festzulegen, müssen Sie Autorisierungsbereiche deklarieren Ein Autorisierungsbereich ist ein OAuth 2.0-URI String, der den Namen der Google Workspace App und die Art der Daten enthält, Zugriffsebenen und der Zugriffsebene.
Nicht vertrauliche Bereiche
Bereichscode | Beschreibung |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Der Bereich Ermöglicht Chat-Apps, Chats anzusehen und Nachrichten zu senden. Gibt Zugriff auf alle Funktionen, die in Chat-Apps verfügbar sind. |
Sensible Bereiche
Bereichscode | Beschreibung |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Unterhaltungen und Gruppenbereiche erstellen und Metadaten abrufen oder bearbeiten (einschließlich Verlaufs- und Zugriffseinstellungen) in Google Chat. |
https://www.googleapis.com/auth/chat.spaces.create
|
Sie können neue Unterhaltungen in Google Chat erstellen. |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Chats und Gruppenbereiche in Google Chat ansehen. |
https://www.googleapis.com/auth/chat.memberships
|
Mitglieder in Google Chat-Unterhaltungen aufrufen, hinzufügen, aktualisieren und entfernen. |
https://www.googleapis.com/auth/chat.memberships.app
|
Sich selbst zu Google Chat-Unterhaltungen hinzufügen oder daraus entfernen. |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Mitglieder in Google Chat-Unterhaltungen ansehen. |
https://www.googleapis.com/auth/chat.messages.create
|
Nachrichten in Google Chat schreiben und senden. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Reaktionen auf Nachrichten in Google Chat ansehen, hinzufügen und löschen. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Reaktionen auf eine Nachricht in Google Chat hinzufügen. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Reaktionen auf eine Nachricht in Google Chat ansehen. |
https://www.googleapis.com/auth/chat.users.readstate
|
„Zuletzt gelesen“-Zeit für Chat-Unterhaltungen ansehen und ändern. |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
„Zuletzt gelesen“-Zeit für Chat-Unterhaltungen anzeigen. |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
In Google Chat können Sie Chats und Gruppenbereiche aufrufen, die der Domain des Administrators gehören. |
https://www.googleapis.com/auth/chat.admin.spaces
|
In Google Chat können Sie Chats und Gruppenbereiche, die der Domain des Administrators gehören, ansehen oder bearbeiten. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
Mitglieder und Manager von Unterhaltungen, die zur Domain des Administrators gehören, in Google Chat ansehen. |
https://www.googleapis.com/auth/chat.admin.memberships
|
Mitglieder und Manager in Unterhaltungen, die der Domain des Administrators gehören, in Google Chat ansehen, hinzufügen, aktualisieren und entfernen. |
Eingeschränkte Bereiche
Bereichscode | Beschreibung |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Unterhaltungen und Gruppenbereiche löschen sowie den Zugriff auf verknüpfte Dateien entfernen in Google Chat. |
https://www.googleapis.com/auth/chat.import
|
Gruppenbereiche, Nachrichten und Mitgliedschaften in Google Chat importieren. Für finden Sie unter Chat-Apps zum Importieren von Daten autorisieren |
https://www.googleapis.com/auth/chat.messages
|
Nachrichten lesen, verfassen, senden, aktualisieren und löschen sowie hinzufügen, ansehen und Reaktionen auf Nachrichten löschen. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Nachrichten und Reaktionen in Google Chat ansehen. |
https://www.googleapis.com/auth/chat.admin.delete
|
Unterhaltungen und Gruppenbereiche der Domain des Administrators löschen sowie den Zugriff auf verknüpfte Dateien entfernen in Google Chat. |
Die Bereiche in den vorherigen Tabellen geben ihre Vertraulichkeit gemäß den folgenden Definitionen:
Nicht vertraulich: Diese Umfänge bieten den kleinsten und erfordern nur eine einfache App-Überprüfung. Für Informationen zu dieser Anforderung finden Sie unter Vorbereitung auf .
Vertraulich: Diese Bereiche gewähren Ihrer App Zugriff auf einen bestimmten an die Google-Daten des Nutzers gesendet, nachdem dieser vom Nutzer autorisiert wurde. Es erfordert müssen Sie eine zusätzliche App-Überprüfung durchführen. Weitere Informationen siehe Schritte für Apps, die sensible Daten anfordern Bereiche.
Eingeschränkt: Diese Bereiche bieten umfassenden Zugriff auf Google-Nutzerdaten. und Sie müssen den Überprüfungsprozess für den eingeschränkten Bereich durchlaufen. Für Informationen zu dieser Anforderung finden Sie unter Google API-Dienste: Nutzerdaten Richtlinien und Zusätzliche Anforderungen für bestimmte APIs Bereiche. Siehe auch Schritte für Apps, die eingeschränkte Daten anfordern Bereiche.
Wenn Ihre Anwendung Zugriff auf andere Google APIs benötigt, können Sie diese Bereiche hinzufügen. . Weitere Informationen zu den Google API-Bereichen finden Sie unter OAuth 2.0 für Folgendes verwenden: Auf Google APIs zugreifen
Weitere Informationen zu Bereichen für Google Workspace APIs finden Sie unter Konfigurieren Sie den OAuth-Zustimmungsbildschirm und wählen Sie Bereiche aus.
Erforderliche Authentifizierungstypen
Chat-Apps haben zwei Möglichkeiten, sich mit die Chat API: Nutzeranmeldedaten oder Dienstkonten.
Mit der Autorisierung von Nutzeranmeldedaten kann eine Chat-App Auf Nutzerdaten zugreifen und Aktionen im Namen eines Nutzers ausführen OAuth-Bereiche geben die autorisierten Daten und Aktionen an.
Mit der App-Autorisierung greift eine Chat-App auf
die API als Anwendung mit Dienstkonto-Anmeldedaten verwenden. App-Autorisierung immer
verwendet den Autorisierungsbereich chat.bot
.
Bei der Entscheidung, welche Art von Anmeldedaten für eine bestimmte API-Anfrage verwendet werden soll, Beachten Sie, dass einige API-Methoden nur eine bestimmte Art von Anmeldedaten Wenn eine API-Methode beide Anmeldedaten unterstützt, wird der Typ der Anmeldedaten die im Aufruf verwendet wird, wirkt sich auf das zurückgegebene Ergebnis aus:
- Bei der App-Autorisierung geben die Methoden nur Ressourcen zurück, die die app verwenden kann Zugriff haben.
- Mit der Nutzerautorisierung geben die Methoden nur Ressourcen zurück, die vom user auf die Sie über die Chat-UI zugreifen können.
Wenn Sie beispielsweise die Methode ListSpaces
mit App-Autorisierung aufrufen, wird das Ereignis
Liste der Gruppenbereiche, in denen die App Mitglied ist. ListSpaces
mit dem Nutzer aufrufen
Autorisierung gibt die Liste der Gruppenbereiche zurück, in denen der Nutzer Mitglied ist. In
verwendet, kann Ihre App beim Aufrufen der Methode
Chat API, je nach gewünschter Funktionalität.
Für asynchrone Chat API-Aufrufe
In der folgenden Tabelle sind die Chat API-Methoden und die unterstützten Methoden aufgeführt. Autorisierungsbereiche:
Methode | Nutzerauthentifizierung wird unterstützt | App-Authentifizierung wird unterstützt | Unterstützte Autorisierungsbereiche | |
---|---|---|---|---|
Gruppenbereiche | ||||
Gruppenbereich erstellen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Gruppenbereich einrichten | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Gruppenbereich anfordern |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Gruppenbereiche auflisten |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
In Gruppenbereichen suchen |
Mit der Nutzerauthentifizierung mit Administratorberechtigungen:
<ph type="x-smartling-placeholder">
|
|||
Gruppenbereiche aktualisieren | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Gruppenbereiche löschen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Import für einen Gruppenbereich abschließen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Direktnachrichten suchen |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Mitglieder | ||||
Mitglied erstellen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Mitglied werden |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Listenmitglieder |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Mitglied löschen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Mitglieder aktualisieren | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Nachrichten | ||||
Nachricht erstellen |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Nachricht erhalten |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Nachrichten auflisten | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Nachrichten aktualisieren |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Nachrichten löschen |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Reaktionen | ||||
Reaktion erstellen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Reaktionen auflisten | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Reaktionen löschen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Medien- und Anhänge | ||||
Medien als Dateianhang hochladen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Medien herunterladen |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
|||
Nachrichtenanhang abrufen | – |
Mit der App-Authentifizierung:
<ph type="x-smartling-placeholder">
|
||
Lesestatus des Nutzers | ||||
Lesestatus des Gruppenbereichs eines Nutzers abrufen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Lesestatus des Gruppenbereichs eines Nutzers aktualisieren | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Thread-Lesestatus eines Nutzers abrufen | – |
Mit der Nutzerauthentifizierung:
<ph type="x-smartling-placeholder">
|
||
Veranstaltungen im Weltraum | ||||
<ph type="x-smartling-placeholder"></ph> Weltraum-Events abrufen | – |
Bei der Nutzerauthentifizierung
müssen Sie einen Bereich verwenden, der auf dem
<ph type="x-smartling-placeholder"></ph>
Ereignistyp:
<ph type="x-smartling-placeholder">
|
||
<ph type="x-smartling-placeholder"></ph> Weltraumereignisse auflisten | – |
Bei der Nutzerauthentifizierung
müssen Sie für jede
<ph type="x-smartling-placeholder"></ph>
Ereignistyp in der Anfrage:
<ph type="x-smartling-placeholder">
|
Für Ereignisse in der Chat-App
In der folgenden Tabelle ist aufgeführt, wie Nutzer häufig mit Chat-Apps interagieren und ob eine Authentifizierung erforderlich oder unterstützt wird:
Szenario | Keine Authentifizierung erforderlich | Nutzerauthentifizierung wird unterstützt | App-Authentifizierung wird unterstützt | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nachrichten erhalten von: |
|
|||||||||||||||
So antworten Sie auf Nachrichten: |
|
|||||||||||||||
Neue Nachrichten senden: |
|
Weitere Informationen
- Einen Überblick über die Authentifizierung und Autorisierung in Google Workspace Siehe Informationen zu Authentifizierung und Autorisierung.
- Eine Übersicht über die Authentifizierung und Autorisierung in Google Cloud finden Sie unter Authentifizierungsübersicht
- Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten:
- Weitere Informationen dazu, wie Google APIs OAuth 2.0 nutzen, finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen
- Authentifizierung und Autorisierung einrichten mit Nutzeranmeldedaten oder Dienstkonto.