אימות והרשאה הם מנגנונים שמשמשים לאימות הזהות וגישה למשאבים, בהתאמה. במאמר הזה מוסבר איך פועלים האימות וההרשאות באפליקציות ל-Chat ובבקשות API ל-Chat.
סקירה כללית על התהליך
בתרשים הבא מוצגים השלבים הכלליים של אימות והרשאה ב-Google Chat:
הגדרת פרויקט ב-Google Cloud, הפעלת Chat API ומגדירים את אפליקציית Chat: במהלך הפיתוח, יוצרים פרויקט ב-Google Cloud. בפרויקט ב-Google Cloud, תוכלו להפעיל את Chat API, להגדיר את אפליקציית Chat ולהגדיר אימות. מידע נוסף זמין במאמרים פיתוח ב-Google Workspace ופיתוח אפליקציה ל-Chat.
Call Chat API: כשהאפליקציה שולחת קריאה ל-Chat API, היא שולחת את פרטי הכניסה לאימות ל-Chat API. אם האפליקציה מבצעת אימות באמצעות חשבון שירות, פרטי הכניסה נשלחים כחלק מקוד האפליקציה. אם באפליקציה נדרשת קריאה ל-Chat API באמצעות אימות של המשתמש שעדיין לא ניתן, היא תבקש מהמשתמש להיכנס לחשבון.
בקשת משאבים: האפליקציה מבקשת גישה באמצעות היקפי הרשאות שהגדרתם במהלך הגדרת האימות.
לבקש הסכמה: אם האפליקציה שלכם מבצעת אימות כמשתמש, Google תציג מסך הסכמה ל-OAuth כדי שהמשתמש יוכל להחליט אם להעניק לאפליקציה גישה לנתונים המבוקשים. אימות באמצעות חשבון שירות לא מחייב הסכמת המשתמש.
שליחת בקשה שאושרה למשאבים: אם המשתמש מסכים להיקפי ההרשאות, ה-App Bundle משלב בבקשה את פרטי הכניסה ואת ההיקפים שאושרו על ידי המשתמשים. הבקשה נשלחת לשרת ההרשאות של Google כדי לקבל אסימון גישה.
Google מחזירה אסימון גישה: אסימון הגישה מכיל רשימה של היקפי ההרשאות שהוקצו. אם רשימת ההיקפים שמוחזרת מגבילה יותר מההיקפים הנדרשים, האפליקציה תשבית את כל התכונות שמוגבלות על ידי האסימון.
גישה למשאבים שביקשתם: האפליקציה שלכם משתמשת באסימון הגישה מ-Google כדי להפעיל את Chat API ולגשת למשאבים של Chat API.
מקבלים אסימון רענון (אופציונלי): אם האפליקציה שלכם צריכה לגשת ל-Google Chat API אחרי משך החיים של אסימון גישה יחיד, היא יכולה לקבל אסימון רענון. מידע נוסף זמין במאמר שימוש ב-OAuth 2.0 כדי לגשת ל-Google APIs.
בקשת משאבים נוספים: אם האפליקציה צריכה גישה נוספת, היא מבקשת מהמשתמש להקצות היקפי הרשאות חדשים, וכתוצאה מכך נוצרת בקשה חדשה לקבלת אסימון גישה (שלבים 3-6).
מתי צריך לבצע אימות באפליקציות ל-Chat
אפליקציות צ'אט יכולות לשלוח הודעות בתגובה לאינטראקציה של משתמשים או באופן אסינכרוני. הם יכולים גם לבצע משימות בשמו של משתמש, כמו יצירת מרחב ב-Chat או הצגת רשימה של אנשים במרחב המשותף ב-Chat.
אפליקציות ל-Chat לא מחייבות אימות כדי להגיב לאינטראקציה של משתמשים, אלא אם היא קוראת ל-Chat API או ל-Google API אחר בזמן עיבוד התשובה.
כדי לשלוח הודעות אסינכרוניות או לבצע משימות בשם המשתמש, אפליקציות Chat שולחות בקשות RESTful ל-Chat API, שנדרשות להן אימות והרשאה.
התגובות לאינטראקציות של משתמשים לא מחייבות אימות
אפליקציות של Google Chat לא צריכות לעבור אימות כמשתמש או כאפליקציית Chat כדי לקבל אירועי אינטראקציה ולהגיב להם באופן סינכרוני.
האפליקציות של Google Chat מקבלות אירועי אינטראקציה בכל פעם שמשתמש יוצר אינטראקציה עם אפליקציית Chat או מפעיל אותה, כולל:
- משתמש שולח הודעה לאפליקציית Chat.
- משתמש מוסיף אזכור ( @mention) של אפליקציית Chat.
- משתמש מפעיל את אחת מהפקודות של אפליקציית Chat.
בתרשים הבא מוצג רצף של בקשה-תגובה בין משתמש ב-Chat לאפליקציית Chat:
- המשתמש שולח הודעה לאפליקציית Chat ב-Google Chat.
- ההודעה תועבר מ-Google Chat לאפליקציה.
- האפליקציה מקבלת את ההודעה, מעבדת אותה ומחזירה תשובה ל-Google Chat.
- Google Chat מעבד את התשובה של המשתמש או במרחב משותף.
הרצף הזה חוזר על עצמו בכל אירוע של אינטראקציה עם אפליקציית Chat.
הודעות אסינכרוניות מחייבות אימות
הודעות אסינכרוניות נשלחות כשאפליקציית Chat שולחת בקשה ל-Chat API, שנדרש לה אימות והרשאה.
קריאה ל-Chat API מאפשרת לאפליקציות Chat לפרסם הודעות ב-Google Chat, להשלים משימות ולגשת לנתונים בשם המשתמש. לדוגמה, אחרי זיהוי הפסקה זמנית בשירות בשרת, אפליקציית Chat יכולה לקרוא ל-Chat API כדי:
- ליצור מרחב משותף ב-Chat כדי לבדוק את הבעיה ולפתור אותה.
- להוסיף אנשים למרחב המשותף ב-Chat.
- אפשר לפרסם הודעה במרחב ב-Chat כדי לספק פרטים על הפסקת השימוש.
בתרשים הבא מוצג רצף הודעות אסינכרוני בין אפליקציית Chat למרחב משותף ב-Chat:
- אפליקציית Chat יוצרת הודעה על ידי קריאה ל-Chat API באמצעות ה-method
spaces.messages.create
, וכוללת את פרטי הכניסה של המשתמש בבקשת ה-HTTP. - אפליקציית Google Chat מאמתת את אפליקציית Chat באמצעות חשבון השירות או פרטי הכניסה של המשתמש.
- מערכת Google Chat מעבדת את ההודעות מהאפליקציה למרחב משותף מסוים ב-Chat.
היקפי ההרשאות של Chat API
כדי לקבוע איזה מידע יוצג למשתמשים ולבודקי אפליקציות, צריך להגדיר את מסך ההסכמה ל-OAuth ולבחור היקפים, ולרשום את האפליקציה כדי לפרסם אותה מאוחר יותר.
כדי להגדיר את רמת הגישה שמוענקת לאפליקציה, אתם צריכים לזהות את היקפי ההרשאות ולהצהיר עליהם. היקף ההרשאה הוא מחרוזת מסוג OAuth 2.0 URI שכוללת את השם של האפליקציה ב-Google Workspace, את סוג הנתונים שאליהם היא ניגשת ואת רמת הגישה.
היקפים לא רגישים
קוד היקף ההרשאות | תיאור |
---|---|
https://www.googleapis.com/auth/chat.bot
|
ההיקף ההרשאה הזו מאפשרת לאפליקציות Chat לראות את הצ'אטים ולשלוח הודעות. ההרשאות האלה מאפשרות גישה לכל התכונות שזמינות לאפליקציות של Chat. |
היקפים רגישים
קוד היקף ההרשאות | תיאור |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
יצירת שיחות ומרחבים משותפים, וקריאה או עריכה של מטא-נתונים (כולל הגדרות ההיסטוריה והגדרות הגישה) ב-Chat. |
https://www.googleapis.com/auth/chat.spaces.create
|
ליצור שיחות חדשות ב-Chat. |
https://www.googleapis.com/auth/chat.spaces.readonly
|
צפייה בצ'אט ובמרחבים המשותפים ב-Chat. |
https://www.googleapis.com/auth/chat.memberships
|
ראייה, הוספה, עדכון והסרה של משתתפים בשיחות ב-Chat. |
https://www.googleapis.com/auth/chat.memberships.app
|
להוסיף ולהסיר את עצמו בשיחות ב-Google Chat. |
https://www.googleapis.com/auth/chat.memberships.readonly
|
לראות את המשתתפים בשיחות ב-Chat. |
https://www.googleapis.com/auth/chat.messages.create
|
לכתוב ולשלוח הודעות ב-Chat. |
https://www.googleapis.com/auth/chat.messages.reactions
|
לראות, להוסיף ולמחוק תגובות להודעות ב-Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
להוסיף תגובות להודעות ב-Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
לראות תגובות להודעות ב-Chat. |
https://www.googleapis.com/auth/chat.users.readstate
|
הצגה ושינוי של מועד הקריאה האחרון בשיחות ב-Chat. |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
הצגת מועד הקריאה האחרון בשיחות ב-Chat. |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
צפייה בצ'אט ובמרחבים המשותפים שבבעלות הדומיין של האדמין ב-Chat. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
צפייה בחברים ובמנהלים בשיחות שבבעלות הדומיין של האדמין ב-Chat. |
https://www.googleapis.com/auth/chat.admin.memberships
|
צפייה, הוספה, עדכון והסרה של חברים ומנהלים בשיחות שבבעלות הדומיין של האדמין ב-Chat. |
היקפים מוגבלים
קוד היקף ההרשאות | תיאור |
---|---|
https://www.googleapis.com/auth/chat.delete
|
מחיקת השיחות והמרחבים המשותפים והסרת הגישה לקבצים המשויכים ב-Chat. |
https://www.googleapis.com/auth/chat.import
|
ייבוא מרחבים, הודעות ומינויים אל Chat. מידע נוסף מופיע במאמר איך נותנים הרשאה לאפליקציות ל-Chat לייבא נתונים. |
https://www.googleapis.com/auth/chat.messages
|
קריאה, כתיבה, שליחה, עדכון ומחיקה של הודעות, וגם הוספה, הצגה ומחיקה של תגובות להודעות. |
https://www.googleapis.com/auth/chat.messages.readonly
|
לראות את ההודעות והתגובות ב-Chat. |
https://www.googleapis.com/auth/chat.admin.delete
|
מחיקת השיחות והמרחבים שבבעלות הדומיין של האדמין והסרת הגישה לקבצים המשויכים ב-Chat. |
ההיקפים בטבלאות שלמעלה מציינים את מידת הרגישות שלהם, לפי ההגדרות הבאות:
לא רגיש – ההיקפים האלה מספקים את ההיקף הקטן ביותר של גישה להרשאות, ומחייבים רק אימות בסיסי של אפליקציות. מידע על הדרישה הזו מופיע במאמר השלבים בהכנה לאימות.
רגיש – היקפי ההרשאות האלה מאפשרים לאפליקציה לגשת לנתונים של משתמש ספציפי בחשבון Google, אחרי קבלת הרשאה מהמשתמש. לשם כך תצטרכו לבצע אימות נוסף של האפליקציה. למידע נוסף על הדרישה הזו, ראו שלבים לאפליקציות שמבקשות היקפים רגישים.
מוגבל – ההיקפים האלה נותנים גישה רחבה לנתוני המשתמשים ב-Google, ומחייבים לבצע את תהליך האימות בהיקף מוגבל. מידע על הדרישה הזו זמין במאמרים שירותי Google API: מדיניות בנושא נתוני משתמשים ודרישות נוספות להיקפים ספציפיים של API. ראו גם שלבים לאפליקציות שמבקשות היקפים מוגבלים.
אם לאפליקציה שלכם נדרשת גישה לממשקי API אחרים של Google, אפשר להוסיף גם את ההיקפים האלה. למידע נוסף על ההיקפים של Google API, ראו שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
במאמר הגדרת מסך ההסכמה ל-OAuth ובחירת היקפים תוכלו לקרוא מידע נוסף על היקפי ההרשאות של Google Workspace APIs.
סוגי האימות הנדרש
יש שתי דרכים שבהן אפליקציות ל-Chat יכולות לבצע אימות ואישור באמצעות ה-API ל-Chat: פרטי כניסה של משתמשים או חשבונות שירות.
הרשאת כניסה של משתמש מאפשרת לאפליקציית Chat לגשת לנתוני משתמשים ולבצע פעולות בשם המשתמש. היקפי ההרשאות של OAuth מציינים את הפעולות והנתונים המורשים.
באמצעות הרשאה לאפליקציה, אפליקציית Chat ניגשת ל-API כאפליקציה באמצעות פרטי הכניסה של חשבון השירות. הרשאה לאפליקציה תמיד משתמשת בהיקף ההרשאה chat.bot
.
כשאתם מחליטים איזה סוג של פרטי כניסה להשתמש עבור בקשת API מסוימת, חשוב לזכור ששיטות API מסוימות תומכות רק בסוג מסוים של פרטי כניסה. אם method של API תומכת בשני פרטי הכניסה, סוג פרטי הכניסה שנעשה בו שימוש בקריאה משפיע על התוצאה שמוחזרת:
- בהרשאה 'הרשאה לאפליקציה', השיטות מחזירות רק משאבים שלאפליקציה יש גישה אליהם.
- בהרשאת משתמש, השיטות מחזירות רק משאבים שהמשתמש יכול לגשת אליהם בממשק המשתמש של Chat.
לדוגמה, אם תקראו ל-method ListSpaces
עם הרשאת אפליקציה, תוכלו לראות את רשימת המרחבים המשותפים שבהם האפליקציה חברה. כשמבצעים קריאה ל-ListSpaces
עם הרשאת משתמש, מופיעה רשימת המרחבים המשותפים שבהם המשתמש חבר. בפועל, יכול להיות שהאפליקציה תשתמש בשני סוגי ההרשאות כדי לשלוח קריאה ל-Chat API, בהתאם לפונקציונליות הרצויה.
לקריאות אסינכרוניות של Chat API
בטבלה הבאה מפורטות השיטות של Chat API והיקפי ההרשאות הנתמכים שלהן:
שיטה | תמיכה באימות משתמשים | תמיכה באימות אפליקציות | היקפי ההרשאות הנתמכים | |
---|---|---|---|---|
מרחבים משותפים | ||||
איך יוצרים מרחבים משותפים | — |
באמצעות אימות משתמש:
|
||
איך מגדירים מרחב משותף | — |
באמצעות אימות משתמש:
|
||
ליצירת מרחב |
באמצעות אימות משתמש:
|
|||
הצגת רשימת המרחבים המשותפים |
באמצעות אימות משתמש:
|
|||
חיפוש מרחבים |
כשמשתמשים באימות משתמש באמצעות הרשאות אדמין:
|
|||
איך משנים את המרחב המשותף | — |
באמצעות אימות משתמש:
|
||
איך מוחקים מרחבים משותפים | — |
באמצעות אימות משתמש:
|
||
השלמת תהליך הייבוא של מרחב משותף | — |
באמצעות אימות משתמש:
|
||
איך מחפשים צ'אטים אישיים |
באמצעות אימות משתמש:
|
|||
חברים | ||||
איך יוצרים חברי מועדון | — |
באמצעות אימות משתמש:
|
||
הצטרפות למועדון החברים |
באמצעות אימות משתמש:
|
|||
חברים ברשימה |
באמצעות אימות משתמש:
|
|||
מחיקת חבר | — |
באמצעות אימות משתמש:
|
||
הודעות | ||||
איך יוצרים הודעות |
באמצעות אימות משתמש:
|
|||
קבלת הודעה |
באמצעות אימות משתמש:
|
|||
רשימת ההודעות | — |
באמצעות אימות משתמש:
|
||
איך מעדכנים הודעות |
באמצעות אימות משתמש:
|
|||
איך מוחקים הודעות? |
באמצעות אימות משתמש:
|
|||
תגובות | ||||
יצירת תגובה באמוג'י | — |
באמצעות אימות משתמש:
|
||
הצגת רשימה של תגובות | — |
באמצעות אימות משתמש:
|
||
מחיקת תגובה באמוג'י | — |
באמצעות אימות משתמש:
|
||
מדיה וקבצים מצורפים | ||||
העלאת מדיה כקובץ מצורף | — |
באמצעות אימות משתמש:
|
||
הורדת המדיה |
באמצעות אימות משתמש:
|
|||
קבלת קובץ מצורף של הודעה | — |
באמצעות אימות אפליקציות:
|
||
מצבי קריאה של משתמשים | ||||
קבלת מצב קריאת מרחב של משתמש | — |
באמצעות אימות משתמש:
|
||
עדכון מצב הקריאה של מרחב משתמש | — |
באמצעות אימות משתמש:
|
||
קבלת מצב קריאת השרשור של משתמש | — |
באמצעות אימות משתמש:
|
||
אירועים במרחב המשותף | ||||
הצגת אירועים בחלל | — |
באמצעות אימות משתמש:
|
||
הצגת רשימה של אירועים במרחב המשותף | — |
באמצעות אימות משתמש:
|
באירועי אינטראקציה של אפליקציית Chat
בטבלה הבאה מפורטות הדרכים הנפוצות שבהן משתמשים יכולים לקיים אינטראקציה עם אפליקציות צ'אט, והאם נדרש או נתמך אימות:
תרחיש | לא נדרש אימות | תמיכה באימות משתמשים | תמיכה באימות אפליקציות | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
קבלת הודעות מ: |
|
|||||||||||||||
איך עונים להודעות: |
|
|||||||||||||||
שליחת הודעות חדשות: |
|
נושאים קשורים
- במאמר מידע על אימות והרשאה תוכלו לקרוא סקירה כללית על אימות והרשאה ב-Google Workspace.
- בסקירה הכללית על אימות תוכלו לקרוא סקירה כללית על אימות והרשאה ב-Google Cloud.
- למידע נוסף על חשבונות שירות, ראו חשבונות שירות.
- כדי לקבל מידע נוסף על האופן שבו ממשקי Google API משתמשים ב-OAuth 2.0, קראו את המאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
- אפשר להגדיר אימות והרשאה באמצעות פרטי הכניסה של משתמש או באמצעות חשבון שירות.