Uwierzytelnianie i autoryzacja to mechanizmy służące do weryfikowania tożsamości dostęp do zasobów. W tym dokumencie opisujemy, jak uwierzytelnianie działa w przypadku aplikacji Google Chat i żądań do interfejsu Chat API.
Omówienie procesu
Na diagramie poniżej widać ogólne kroki uwierzytelniania autoryzacji w Google Chat:
Skonfiguruj projekt Google Cloud, włącz interfejs Chat API oraz skonfiguruj Aplikacja do obsługi czatu: w trakcie tworzenia aplikacji tworzysz Projekt Google Cloud. w projekcie Google Cloud włączysz interfejs Chat API, skonfigurować aplikację Google Chat oraz ustawić uwierzytelnianie. Więcej informacji: Programowanie w Google Workspace i Tworzenie aplikacji Google Chat.
Call Chat API: gdy aplikacja wywołuje Chat API, wysyła dane uwierzytelniające do Interfejs Chat API. Jeśli uwierzytelnia się przy użyciu konta usługi, dane uwierzytelniające są wysyłane jako stanowią część kodu aplikacji. Jeśli aplikacja wymaga wywoływania interfejsu Chat API za pomocą nieprzeprowadzonego uwierzytelniania użytkownika, użytkownik musi się zalogować.
Przesyłanie próśb o zasoby: aplikacja prosi o dostęp przy użyciu: zakresy określonego podczas konfigurowania uwierzytelniania.
Poproś o zgodę: jeśli aplikacja uwierzytelnia się jako użytkownik, Google wyświetla ekran zgody OAuth, aby użytkownik mógł zdecydować, czy przyznać aplikacji dostęp do żądanych danych. Uwierzytelnianie za pomocą konta usługi nie pozwala wymagają zgody użytkownika.
Wyślij zatwierdzoną prośbę o udostępnienie zasobów: jeśli użytkownik wyrazi zgodę na zakresów autoryzacji, aplikacja łączy dane uwierzytelniające oraz dane zatwierdzone przez użytkownika w określone zakresy w żądaniu. Żądanie jest wysyłane do serwera autoryzacji Google aby uzyskać token dostępu.
Google zwraca token dostępu: token dostępu zawiera listę określone zakresy. Jeśli zwrócona lista zakresów jest bardziej restrykcyjna niż żądanych zakresów, aplikacja wyłącza wszystkie funkcje ograniczone przez token.
Dostęp do żądanych zasobów: aplikacja używa tokena dostępu Google, aby: wywoływania interfejsu Chat API i uzyskiwania dostępu do zasobów tego interfejsu.
Uzyskaj token odświeżania (opcjonalnie): jeśli aplikacja musi mieć dostęp do Interfejs Google Chat API po upłynięciu pojedynczego tokena dostępu może uzyskać token odświeżania. Więcej informacji: Dostęp do interfejsów API Google przy użyciu OAuth 2.0
Poproś o więcej zasobów: jeśli aplikacja potrzebuje więcej uprawnień, wyświetla prośbę do użytkownika. w celu przyznania nowych zakresów, co skutkuje wysłaniem nowego żądania uzyskania tokena dostępu (kroki 3–6).
Gdy aplikacje do obsługi czatu wymagają uwierzytelnienia
aplikacje do obsługi czatu mogą wysyłać wiadomości w odpowiedzi na interakcję użytkownika; asynchronicznie. Mogą też wykonywać w imieniu użytkownika zadania, takie jak: tworząc pokój czatu lub otrzymując listę osób Pokój czatu.
Aplikacje do obsługi czatu nie wymagają uwierzytelniania, aby odpowiedzieć na interakcji użytkownika, chyba że aplikacja Google Chat wywoła metodę Chat API lub inny interfejs API Google podczas Przetwarzanie odpowiedzi.
Aby wysyłać wiadomości asynchroniczne lub wykonywać zadania w imieniu użytkownika, Aplikacje do obsługi czatu wysyłają żądania REST do Chat API które wymagają uwierzytelniania i autoryzacji.
odpowiedzi na interakcje użytkowników nie wymagają uwierzytelniania;
Aplikacje Google Chat nie muszą uwierzytelniać się jako użytkownik lub Aplikacja do obsługi czatu, która otrzymuje wiadomości i odpowiada na nie synchronicznie zdarzenia interakcji.
Aplikacje Google Chat odbierają zdarzenia interakcji za każdym razem, gdy użytkownik wchodzi w interakcję z użytkownikiem lub wywołuje aplikację Google Chat, w tym:
- Użytkownik wysyła wiadomość do aplikacji Google Chat.
- Użytkownik dodaje @wzmiankę o aplikacji Google Chat.
- Użytkownik wywołuje jedno z poleceń aplikacji Google Chat polecenia po ukośniku.
Na diagramie poniżej widać sekwencję żądania i odpowiedzi Użytkownik Google Chat i aplikacja Google Chat:
- Użytkownik wysyła wiadomość do aplikacji Google Chat w: Google Chat.
- Google Chat przekaże wiadomość do aplikacji.
- Aplikacja odbiera wiadomość, przetwarza ją i zwraca odpowiedź na adres Google Chat.
- Google Chat renderuje odpowiedź dla użytkownika lub w pokoju.
Ta sekwencja powtarza się przy każdej interakcji w aplikacji Google Chat .
Wiadomości asynchroniczne wymagają uwierzytelniania
Komunikaty asynchroniczne występują, gdy aplikacja Google Chat wykona do Chat API który wymaga uwierzytelnienia i autoryzacji.
Po wywołaniu interfejsu Chat API aplikacje Google Chat mogą publikować wiadomości z Google Chat, wykonywać zadania i uzyskiwać dostęp do danych w imieniu użytkownika. Dla: Na przykład po wykryciu przerwy w działaniu serwera aplikacja Google Chat może wywołać metodę Interfejs Chat API do:
- Utwórz pokój czatu, aby zbadać i naprawić przerwach w działaniu usługi.
- Dodaj osoby do pokoju czatu.
- Opublikuj w pokoju czatu wiadomość, w której podasz szczegóły przerwach w działaniu usługi.
Poniższy diagram przedstawia asynchroniczną sekwencję komunikatów między Aplikacja Google Chat i pokój czatu:
- Aplikacja Google Chat tworzy wiadomość, wywołując metodę
Interfejs Chat API za pomocą
spaces.messages.create
, i uwzględnia dane logowania użytkownika w żądaniu HTTP. - Google Chat uwierzytelnia aplikację Google Chat przy użyciu: konta usługi lub danych logowania użytkownika.
- Google Chat renderuje wiadomość z aplikacji w określonym Google Chat kosmosu.
Zakresy interfejsu Chat API
Skonfiguruj ekran zgody OAuth i wybierz zakresy aby określić, jakie informacje mają być wyświetlane użytkownikom i weryfikatorom aplikacji, aby opublikować ją później.
Aby określić poziom dostępu przyznanego aplikacji, musisz określić zadeklarować zakresy autoryzacji. Zakres autoryzacji to identyfikator URI OAuth 2.0 ciąg znaków zawierający nazwę aplikacji Google Workspace, rodzaj danych, oraz poziom dostępu.
Zakresy niewrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Zakres Pozwala aplikacjom Google Chat na wyświetlanie czatów i wysyłanie wiadomości. Daje dostęp do wszystkich funkcji aplikacji Google Chat. |
Zakresy wrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Tworzenie rozmów i pokoi oraz wyświetlanie i edytowanie metadanych (w tym ustawienia historii i ustawień dostępu) w Google Chat. |
https://www.googleapis.com/auth/chat.spaces.create
|
tworzyć nowych rozmów w Google Chat, |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Wyświetlanie czatu i pokoi w Google Chat. |
https://www.googleapis.com/auth/chat.memberships
|
Wyświetlanie, dodawanie, aktualizowanie i usuwanie uczestników rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.memberships.app
|
dodawać siebie do rozmów w Google Chat i usuwać je z nich; |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Wyświetlanie uczestników rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.messages.create
|
Tworzenie i wysyłanie wiadomości w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Wyświetlanie, dodawanie i usuwanie reakcji na wiadomości w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Dodawanie reakcji na wiadomość w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Wyświetlanie reakcji na wiadomość w Google Chat. |
https://www.googleapis.com/auth/chat.users.readstate
|
Wyświetlanie i modyfikowanie czasu ostatniego odczytu rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
Wyświetlanie czasu ostatniego odczytu rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
Wyświetlanie w Google Chat czatu i pokoi należących do domeny administratora. |
https://www.googleapis.com/auth/chat.admin.spaces
|
Wyświetlanie i edytowanie w Google Chat czatów i pokoi należących do domeny administratora. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
Wyświetlanie użytkowników i menedżerów w rozmowach należących do domeny administratora w Google Chat. |
https://www.googleapis.com/auth/chat.admin.memberships
|
Wyświetlanie, dodawanie, aktualizowanie i usuwanie członków i menedżerów w rozmowach należących do domeny administratora w Google Chat. |
Zakresy z ograniczeniami
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Usuwanie rozmów i pokoi oraz odbieranie dostępu do powiązanych plików w Google Chat. |
https://www.googleapis.com/auth/chat.import
|
Importuj pokoje, wiadomości i subskrypcje do Google Chat. Dla: więcej informacji znajdziesz w Autoryzowanie importowania danych przez aplikacje do obsługi czatu |
https://www.googleapis.com/auth/chat.messages
|
Wyświetlanie, tworzenie, wysyłanie, aktualizowanie i usuwanie wiadomości oraz dodawanie, wyświetlanie i usuwać reakcje na wiadomości. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Wyświetlanie wiadomości i reakcji w Google Chat. |
https://www.googleapis.com/auth/chat.admin.delete
|
usuwać wątki i pokoje należące do domeny administratora, a także odbierać dostęp do powiązanych plików. w Google Chat. |
Zakresy w poprzednich tabelach wskazują ich czułość na podstawie następujące definicje:
Niewrażliwe – te zakresy zapewniają najmniejszą sferę dostępu do autoryzacji i wymagają jedynie podstawowej weryfikacji aplikacji. Dla: o tym wymaganiu, zapoznaj się z artykułem Etapy przygotowania do weryfikacji.
Poufne – te zakresy dają aplikacji dostęp do określonych danych Google użytkownika po otrzymaniu autoryzacji od niego. Wymaga musisz przejść dodatkową weryfikację aplikacji. Informacje na ten temat wymagania znajdziesz w sekcji Instrukcje dotyczące aplikacji żądających poufnych danych. .
Z ograniczonym dostępem – te zakresy zapewniają szeroki dostęp do danych użytkowników Google. i wymagają przejścia procesu weryfikacji z ograniczonym zakresem. Dla: informacje na temat tego wymogu znajdziesz w artykule Usługi interfejsów API Google: dane użytkownika Zasady oraz Dodatkowe wymagania dotyczące konkretnego interfejsu API Zakresy. Zobacz też Instrukcje dotyczące aplikacji, które proszą o ograniczenie dostępu. .
Jeśli aplikacja wymaga dostępu do innych interfejsów API Google, możesz dodać te zakresy . Więcej informacji o zakresach interfejsów API Google znajdziesz w artykule Używanie protokołu OAuth 2.0 do Dostęp do interfejsów API Google
Więcej informacji o zakresach interfejsów Google Workspace API znajdziesz tutaj: Skonfiguruj ekran zgody OAuth i wybierz zakresy.
Rodzaje wymaganego uwierzytelniania
Aplikacje do obsługi czatu mogą uwierzytelniać się i autoryzować przy użyciu 2 sposób interfejsu Chat API: dane logowania użytkownika lub konta usługi.
Dzięki autoryzacji danych logowania użytkownika aplikacja Google Chat może uzyskiwać dostęp do danych użytkownika i wykonywać działania w jego imieniu. Zakresy protokołu OAuth określają autoryzowane dane i działania.
Dzięki autoryzacji aplikacji aplikacja Google Chat uzyskuje dostęp do:
API jako aplikację
za pomocą danych logowania konta usługi. Zawsze autoryzacja aplikacji
korzysta z zakresu autoryzacji chat.bot
.
Wybierając typ danych logowania dla danego żądania do interfejsu API, pamiętaj, że niektóre metody interfejsu API obsługują tylko określony typ danych logowania. Jeśli metoda interfejsu API obsługuje oba te rodzaje danych logowania, typ danych logowania używany w wywołaniu wpływa na zwracany wynik:
- W przypadku autoryzacji aplikacji metody zwracają tylko zasoby, które aplikacja może dostęp.
- W przypadku autoryzacji użytkownika metody zwracają tylko zasoby, które użytkownik mają dostęp w interfejsie Google Chat.
Na przykład wywołanie metody ListSpaces
z autoryzacją aplikacji zwraca
listę pokoi, do których należy aplikacja. Wywołuję ListSpaces
razem z użytkownikiem
autoryzacja zwraca listę pokoi, których członkiem jest użytkownik. W
, aplikacja może używać obu typów autoryzacji przy wywoływaniu
Chat API w zależności od funkcji, których potrzebujesz.
Asynchroniczne wywołania interfejsu Chat API
W tabeli poniżej znajdziesz metody interfejsu Chat API oraz ich obsługiwane zakresy autoryzacji:
Metoda | obsługiwane uwierzytelnianie użytkowników, | Obsługa uwierzytelniania aplikacji | Obsługiwane zakresy autoryzacji | |
---|---|---|---|---|
Pokoje | ||||
Tworzenie pokoju | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Konfigurowanie pokoju | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Zrób pokój |
Za pomocą uwierzytelniania użytkowników:
|
|||
Pokoje listy |
Za pomocą uwierzytelniania użytkowników:
|
|||
Szukaj w pokojach |
W przypadku uwierzytelniania użytkowników przy użyciu uprawnień administratora:
|
|||
Aktualizowanie pokoju | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Usuwanie pokoju | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Zakończenie procesu importowania pokoju | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Znajdowanie czatu |
Za pomocą uwierzytelniania użytkowników:
|
|||
Członkowie | ||||
Tworzenie członka grupy | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Zasubskrybuj |
Za pomocą uwierzytelniania użytkowników:
|
|||
Członkowie grupy |
Za pomocą uwierzytelniania użytkowników:
|
|||
Usuwanie użytkownika | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Aktualizowanie członka | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Wiadomości | ||||
Tworzenie wiadomości |
Za pomocą uwierzytelniania użytkowników:
|
|||
Odbierz wiadomość |
Za pomocą uwierzytelniania użytkowników:
|
|||
Wyświetlanie listy wiadomości | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Aktualizowanie wiadomości |
Za pomocą uwierzytelniania użytkowników:
|
|||
Usuwanie wiadomości |
Za pomocą uwierzytelniania użytkowników:
|
|||
Reakcje | ||||
Tworzenie reakcji | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Lista reakcji | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Usuwanie reakcji | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Multimedia i załączniki | ||||
Przesyłanie multimediów jako załącznika | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Pobieranie multimediów |
Za pomocą uwierzytelniania użytkowników:
|
|||
Otrzymywanie załącznika do wiadomości | – |
Za pomocą uwierzytelniania aplikacji:
|
||
Stany odczytu użytkownika | ||||
Pobieranie stanu odczytu pokoju użytkownika | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Aktualizowanie stanu odczytu pokoju użytkownika | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Uzyskiwanie stanu odczytu wątku użytkownika | – |
Za pomocą uwierzytelniania użytkowników:
|
||
Wydarzenia na temat pokoju | ||||
Zyskaj dostęp do wydarzeń dotyczących pokoju . | – |
Uwierzytelnianie użytkowników pozwala
musisz użyć zakresu opartego na
typ zdarzenia:
|
||
Wyświetl listę zdarzeń dotyczących pokoju . | – |
Uwierzytelnianie użytkowników pozwala
musisz użyć zakresu dla każdej
typ zdarzenia uwzględnionego w żądaniu:
|
Zdarzenia interakcji z aplikacją Google Chat
W tabeli poniżej znajdziesz typowe sposoby korzystania przez użytkowników z aplikacji Google Chat oraz informacje o tym, czy uwierzytelnianie jest wymagane czy obsługiwane:
Scenariusz | Uwierzytelnianie nie jest wymagane | obsługiwane uwierzytelnianie użytkowników, | Obsługa uwierzytelniania aplikacji | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Otrzymuj wiadomości z: |
|
|||||||||||||||
Odpowiadanie na wiadomości: |
|
|||||||||||||||
Wysyłaj nowe wiadomości: |
|
Powiązane artykuły
- Aby dowiedzieć się więcej o uwierzytelnianiu i autoryzacji w Google Workspace, zobacz Dowiedz się więcej o uwierzytelnianiu autoryzacji.
- Omówienie uwierzytelniania i autoryzacji w Google Cloud znajdziesz w artykule Omówienie uwierzytelniania.
- Więcej informacji o kontach usługi znajdziesz w artykule Konta usługi.
- Aby dowiedzieć się więcej o tym, jak interfejsy API Google wykorzystują OAuth 2.0, zobacz Korzystanie z protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google
- Skonfiguruj uwierzytelnianie i autoryzację za pomocą dane logowania użytkownika lub koncie usługi.