באפליקציות של Google Chat שמבוססות על נקודות קצה ב-HTTP, מוסבר כאן איך לוודא שהבקשות לנקודת הקצה שלכם מגיעות מ-Chat.
כדי לשלוח אירועי אינטראקציה לאפליקציית Chat
נקודת הקצה, Google שולחת בקשות לשירות שלך. כדי לוודא שהבקשה
שמגיע מ-Google,
אסימון למוכ"ז
בכותרת Authorization
של כל בקשת HTTPS לנקודת הקצה. לדוגמה:
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
המחרוזת AbCdEf123456
בדוגמה שלמעלה היא ההרשאה למוכ"ז
ב-Assistant. זהו אסימון קריפטוגרפי ש-Google מפיקה. סוג הגורם האחראי
ואת הערך של
audience
השדה תלוי בסוג קהל האימות שבחרתם
איך מגדירים את אפליקציית Chat.
אם הטמעתם את אפליקציית Chat באמצעות Cloud פונקציות או Cloud Run, Cloud IAM מטפל באימות אסימונים באופן אוטומטי. שלך צריך רק להוסיף את חשבון השירות של Google Chat כ-invoker מורשה. אם באפליקציה שלך מוטמע שרת HTTP משלה, אפשר לאמת את האסימון למוכ"ז. באמצעות ספריית לקוח של Google API בקוד פתוח:
- 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
אם לא הצלחתם לאמת את האסימון באפליקציית Chat,
השירות צריך להגיב לבקשה עם קוד תגובת HTTPS
401 (Unauthorized)
אימות בקשות באמצעות Cloud Functions או Cloud Run
אם לוגיקת הפונקציות מיושמת באמצעות Cloud Functions או Cloud Run,
חייבים לבחור את האפשרות App URL
בשדה Authentication Audience של
אפליקציית Chat
את הגדרת החיבור ולוודא
כתובת ה-URL של האפליקציה שבתצורה תואמת לכתובת ה-URL של הפונקציה של Cloud Functions, או
נקודת קצה (endpoint) של Cloud Run.
לאחר מכן, צריך לתת הרשאה לחשבון השירות של Google Chat
chat@system.gserviceaccount.com
כגורם מפעיל.
בשלבים הבאים מוסבר איך להשתמש ב-Cloud Functions (דור ראשון):
המסוף
אחרי פריסת הפונקציה ב-Google Cloud:
במסוף Google Cloud, נכנסים לדף Cloud Functions:
ברשימה Cloud Functions, לוחצים על תיבת הסימון שליד מותאמת אישית. (אין ללחוץ על הפונקציה עצמה).
לוחצים על הרשאות בחלק העליון של המסך. החלונית Permissions נפתח.
לוחצים על Add principal.
בשדה New principals, מזינים
chat@system.gserviceaccount.com
.בוחרים את התפקיד Cloud Functions > Cloud Functions Invoker מ- בתפריט הנפתח Select a rol.
לוחצים על שמירה.
gcloud
משתמשים בפקודה gcloud functions add-iam-policy-binding
:
gcloud functions add-iam-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com' \
--role='roles/cloudfunctions.invoker'
מחליפים את RECEIVING_FUNCTION
בשם שלכם
הפונקציה של אפליקציית Chat.
השלבים הבאים מסבירים איך להשתמש בשירותי Cloud Functions (דור שני) או Cloud Run:
המסוף
אחרי פריסת הפונקציה או השירות ב-Google Cloud:
במסוף Google Cloud, נכנסים לדף Cloud Run:
ברשימת שירותי Cloud Run, לוחצים על תיבת הסימון שליד מותאמת אישית. (אין ללחוץ על הפונקציה עצמה).
לוחצים על הרשאות בחלק העליון של המסך. החלונית Permissions נפתח.
לוחצים על Add principal.
בשדה New principals, מזינים
chat@system.gserviceaccount.com
.בוחרים את התפקיד Cloud Run > Cloud Run Invoker מ- בתפריט הנפתח Select a rol.
לוחצים על שמירה.
gcloud
משתמשים בפקודה gcloud functions add-invoker-policy-binding
:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com'
מחליפים את RECEIVING_FUNCTION
בשם שלכם
הפונקציה של אפליקציית Chat.
אימות בקשות באמצעות אסימון מזהה של כתובת URL של אפליקציה
אם השדה 'קהל לאימות' באפליקציית Chat
הגדרת החיבור היא App URL
,
אסימון ההרשאה למוכ"ז בבקשה הוא OpenID Connect בחתימה של Google
(OIDC) אסימון מזהה.
השדה email
מוגדר ל-chat@system.gserviceaccount.com
.
השדה audience
מוגדר לכתובת ה-URL שהגדרת לשליחה ב-Google Chat
בקשות לאפליקציית Chat שלך. לדוגמה, אם
שנקודת הקצה שהוגדרה באפליקציית Chat היא
https://example.com/app/
, אז השדה audience
באסימון המזהה הוא
https://example.com/app/
.
הדוגמאות הבאות מראות איך לאמת שאסימון למוכ"ז הונפק על ידי Google Chat וטירגוט לאפליקציה שלך באמצעות ספריית הלקוח של OAuth של Google.
Java
Python
Node.js
אימות בקשות באמצעות JWT של מספר פרויקט
אם השדה 'קהל לאימות' באפליקציית Chat
הגדרת החיבור מוגדרת ל-Project
Number
, אסימון ההרשאה למוכ"ז בבקשה הוא בחתימה עצמית
אסימון אינטרנט מסוג JSON (JWT),
הונפק ונחתם על ידי chat@system.gserviceaccount.com
.
השדה audience
מוגדר למספר הפרויקט ב-Google Cloud שבו השתמשתם
כדי לפתח את אפליקציית Chat. לדוגמה, אם
מספר הפרויקט ב-Cloud של אפליקציית Chat הוא
1234567890
, השדה audience
ב-JWT הוא 1234567890
.
הדוגמאות הבאות מראות איך לאמת שאסימון למוכ"ז הונפק על ידי Google Chat וטירגוט לפרויקט שלך באמצעות ספריית הלקוח של OAuth של Google.
Java
Python
Node.js
נושאים קשורים
- לסקירה כללית של אימות והרשאה ב-Google Workspace: לראות מידע נוסף על אימות והרשאה
- לסקירה כללית של תהליך האימות וההרשאה ב-Chat: לראות סקירה כללית על אימות
- הגדרת אימות והרשאה באמצעות פרטי הכניסה של המשתמש או חשבון שירות.