אימות והרשאה הם מנגנונים שמשמשים לאימות זהות גישה למשאבים, בהתאמה. במסמך הזה מתוארים תהליך האימות פועלות למתן הרשאה לאפליקציות ל-Chat ולבקשות API ל-Chat.
סקירה כללית על התהליך
בתרשים הבא מוצגים השלבים הכלליים של האימות וההרשאה ב-Google Chat:
הגדרת פרויקט ב-Google Cloud, הפעלת Chat API והגדרת אפליקציית Chat: במהלך הפיתוח, יוצרים פרויקט ב-Google Cloud. בפרויקט ב-Google Cloud, מפעילים את Chat API, מגדירים את אפליקציית Chat ומגדירים אימות. מידע נוסף זמין במאמר הבא: פיתוח ב-Google Workspace וגם איך מפתחים אפליקציות ל-Chat
קריאה ל-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 API או לממשק Google API אחר בזמן עיבוד התשובה.
כדי לשלוח הודעות אסינכרוניות או לבצע משימות בשמו של משתמש, אפליקציות צ'אט שולחות בקשות RESTful Chat API, שמחייבים אימות והרשאה.
התגובות לאינטראקציות של משתמשים לא מחייבות אימות
אפליקציות ל-Google Chat לא צריכות לעבור אימות כמשתמש או אפליקציית Chat שצריך לקבל ולהשיב אליה באופן סינכרוני אירועי אינטראקציה.
אפליקציות של Google Chat מקבלות אירועי אינטראקציה בכל פעם שמשתמש יוצר אינטראקציה, או הפעלה של אפליקציית Chat, כולל:
- משתמש שולח הודעה לאפליקציית Chat.
- משתמש מזכיר אפליקציית 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 באמצעות
spaces.messages.create
method, והוא כולל את פרטי הכניסה של המשתמש בבקשת ה-HTTP. - אפליקציית Google Chat מאמתת את אפליקציית Chat באמצעות של חשבון שירות או של פרטי כניסה של משתמש.
- המערכת של Google Chat מעבדת את ההודעה מהאפליקציה ל-Chat שצוין המרחב המשותף.
היקפי הרשאה של Chat API
הגדרת מסך ההסכמה של OAuth ובחירת היקפים כדי להגדיר איזה מידע יוצג למשתמשים ולבודקי אפליקציות, ולרשום את האפליקציה כדי שאפשר יהיה לפרסם אותה מאוחר יותר.
כדי להגדיר את רמת הגישה שמוענקת לאפליקציה, צריך לזהות ולדווח על היקפי הרשאה. היקף הרשאה הוא מחרוזת URI של OAuth 2.0 שמכילה את שם האפליקציה ב-Google Workspace, את סוג הנתונים שהיא ניגשת אליהם ואת רמת הגישה.
היקפים לא רגישים
קוד היקף ההרשאות | תיאור |
---|---|
https://www.googleapis.com/auth/chat.bot
|
ההרשאה הזו מאפשרת לאפליקציות 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.spaces
|
קריאה או עריכה של הצ'אט והמרחבים המשותפים שבבעלות הדומיין של האדמין ב-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.app.spaces
|
יצירת שיחות ומרחבים משותפים, וקריאה או עדכון של מטא-נתונים (כולל הגדרות ההיסטוריה והגדרות הגישה) ב-Chat. נדרש אישור אדמין. ההיקף הזה תומך רק באימות אפליקציות באמצעות חשבונות שירות. שלך לא יכולים לבצע אימות באמצעות פרטי כניסה של משתמש הענקת גישה ברמת הדומיין באמצעות ההיקף הזה. |
https://www.googleapis.com/auth/chat.app.spaces.create
|
ליצור שיחות ומרחבים משותפים חדשים ב-Chat. נדרש אישור אדמין. ההיקף הזה תומך רק באימות אפליקציות באמצעות חשבונות שירות. אי אפשר לבצע אימות באמצעות פרטי כניסה של משתמשים או באמצעות הענקת גישה ברמת הדומיין באמצעות ההיקף הזה. |
https://www.googleapis.com/auth/chat.app.memberships
|
ראייה, הוספה, עדכון והסרה של משתתפים בשיחות ובמרחבים ב-Chat. נדרש אישור אדמין. ההיקף הזה תומך רק באימות אפליקציות באמצעות חשבונות שירות. שלך לא יכולים לבצע אימות באמצעות פרטי כניסה של משתמש הענקת גישה ברמת הדומיין באמצעות ההיקף הזה. |
https://www.googleapis.com/auth/chat.customemojis
|
ראייה, יצירה ומחיקה של אמוג'י בהתאמה אישית ב-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. |
https://www.googleapis.com/auth/chat.app.delete
|
מחיקת השיחות והמרחבים המשותפים והסרת הגישה לקבצים המשויכים ב-Chat. נדרש אישור אדמין. ההיקף הזה תומך רק באימות אפליקציות באמצעות חשבונות שירות. אי אפשר לבצע אימות באמצעות פרטי כניסה של משתמשים או באמצעות הענקת גישה ברמת הדומיין באמצעות ההיקף הזה. |
ההיקפים בטבלאות שלמעלה מציינים את הרגישות שלהם, לפי ההגדרות הבאות:
לא רגיש – ההיקפים האלה מספקים את הטווח הקטן ביותר גישה להרשאה ולחייב רק אימות בסיסי של האפליקציה. מידע נוסף על הדרישה הזו זמין במאמר שלבים להכנה לאימות.
רגיש – היקפי ההרשאות האלה נותנים לאפליקציה גישה נתוני Google של המשתמש אחרי קבלת הרשאה מהמשתמש. הוא מחייב תצטרכו להשלים תהליך אימות נוסף של האפליקציה. למידע בנושא כדי לעמוד בדרישות, אפשר לעיין בשלבים לאפליקציות שמבקשות מידע רגיש היקפים.
מוגבלת – היקפי הגישה האלה מספקים גישה רחבה לנתוני המשתמשים ב-Google, וצריך לעבור את תהליך האימות של היקף הגישה המוגבל. למידע נוסף על הדרישה הזו, אפשר לעיין במאמרים Google API Services: User Data Policy וAdditional Requirements for Specific API Scopes. מומלץ לעיין גם בשלבים לאפליקציות שמבקשות הגבלות היקפים.
אם לאפליקציה נדרשת גישה לממשקי Google API אחרים, אפשר להוסיף את היקפי ההרשאות האלה וגם. למידע נוסף על היקפי ההרשאות של Google API, תוכלו לקרוא את המאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
למידע נוסף על היקפי ההרשאות של ממשקי Google Workspace API מגדירים את מסך ההסכמה של OAuth ובוחרים היקפים.
סוגי האימות הנדרש
יש שתי דרכים שבהן אפליקציות Chat יכולות לבצע אימות ולהעניק הרשאות באמצעות Chat API:
- אימות משתמשים
- אימות משתמשים מאפשרת לאפליקציית Chat לגשת לנתוני משתמשים ולבצע פעולות בשמו של המשתמש. היקפי ההרשאות של OAuth מציינים את הפעולות והנתונים המורשים. אלא אם אפליקציית Chat האדמין הותקן או ניתנות הענקת גישה ברמת הדומיין, בפעם הראשונה שאפליקציית Chat מבצעת פעולה בשם המשתמש, המשתמש צריך לתת הרשאה לאפליקציית Chat באמצעות מסך ההסכמה של OAuth.
- אימות אפליקציות
אימות אפליקציה מאפשר לאפליקציית Chat להשתמש בפרטי הכניסה של חשבון השירות, לגשת לנתונים ולבצע פעולות בעצמה. כי אפליקציית Chat משתמש בפרטי הכניסה שלו כדי לגשת למשאבים ולעבוד איתם, משתמשי קצה לא צריכים לאשר קריאות ל-API של אפליקציית Chat, ולא ניתן להוסיף היקפי הרשאות OAuth שתומכים בהרשאה לאפליקציות למסך ההסכמה של OAuth.
יש שני סוגים של היקפי הרשאות OAuth שתומכים באימות של אפליקציות:
https://www.googleapis.com/auth/chat.bot
: אפליקציית Chat יכולה לקרוא ל-Google Chat API שיטות שתומכות בהיקף ההרשאה הזה כדי ליצור, לעדכן, לקבל, לראות או למחוק משאבים שיש לו גישה אליהם, כמו הודעות במרחבים משותפים. שמשתמשי הקצה יכולים להוסיף אליה את אפליקציית Chat. אפליקציית Chat יכולה להעניק לעצמה את היקף ההרשאה הזה, ללא צורך בהרשאה של אדמין או משתמש קצה.https://www.googleapis.com/auth/chat.app.*
(תצוגה מקדימה למפתחים): כדי להשתמש בהיקפים האלה, צריך אישור חד-פעמי של אדמין. שפת תרגום לקבל אישור של מנהל מערכת, להכין את חשבון השירות של אפליקציית Chat לקבלת אישור אדמין באמצעות יצירה של לקוח OAuth שתואם ל-Google Workspace Marketplace הגדרת האפליקציה ב-Google Workspace Marketplace SDK. ההיקפים האלה מאפשרים לאפליקציית Chat לבצע קריאות לשיטות ספציפיות של Google Chat API. לדוגמה, ההרשאהchat.app.spaces.create
מאפשרת לאפליקציות ליצור מרחבים משותפים ב-Chat.
אם שיטה מסוימת תומכת באימות של משתמשים וגם באפליקציות, Chat API מחזירה תוצאות שונות בהתאם לסוג האימות שבו אתם משתמשים:
- באימות אפליקציות, השיטות מחזירות רק משאבים לאפליקציית Chat יש גישה.
- כשמבצעים אימות משתמש, השיטות מחזירות רק משאבים שהמשתמש יכול לגשת אליהם.
לדוגמה, קריאה ל-method spaces.list()
עם הרשאת אפליקציה מחזירה את רשימת המרחבים המשותפים שאפליקציית Chat משתייכת אליהם.
אנחנו מתקשרים אל spaces.list()
באמצעות
ההרשאה user מחזירה את רשימת המרחבים שהמשתמש חבר בהם. לחשבון
אפשר להשתמש בשני הסוגים של
ביצוע אימות בזמן קריאה ל-Chat API, בהתאם לעיצוב
והתכונות של אפליקציית Chat.
לקריאות אסינכררוניות ל-Chat API
בטבלה הבאה מפורטות השיטות של Chat API והשיטות הנתמכות שלהן היקפי הרשאות:
שיטה | תמיכה באימות משתמשים | תמיכה באימות אפליקציות | היקפי ההרשאות הנתמכים | |
---|---|---|---|---|
מרחבים | ||||
איך יוצרים מרחב משותף |
עם אימות משתמשים:
|
|||
איך מגדירים מרחב משותף | — |
באמצעות אימות משתמש:
|
||
קבלת מרחב משותף |
באמצעות אימות משתמש:
|
|||
הצגת רשימת המרחבים המשותפים |
עם אימות משתמשים:
|
|||
חיפוש מרחבים משותפים | — |
עם אימות משתמש באמצעות הרשאות אדמין:
|
||
עדכון מרחב משותף |
באמצעות אימות משתמש:
|
|||
איך מוחקים מרחבים משותפים |
עם אימות משתמשים:
|
|||
השלמת תהליך הייבוא של מרחב משותף | — |
באמצעות אימות משתמש:
|
||
איך מוצאים צ'אט אישי |
באמצעות אימות משתמש:
|
|||
חברים | ||||
איך יוצרים חברי מועדון |
עם אימות משתמשים:
|
|||
הצטרפות למועדון החברים |
באמצעות אימות משתמש:
|
|||
חברים ברשימה |
עם אימות משתמשים:
|
|||
מחיקת חבר |
באמצעות אימות משתמש:
|
|||
עדכון חבר |
באמצעות אימות משתמש:
|
|||
הודעות | ||||
יצירת הודעה |
עם אימות משתמשים:
|
|||
קבלת הודעה |
באמצעות אימות משתמש:
|
|||
רשימת ההודעות | — |
עם אימות משתמשים:
|
||
עדכון הודעה |
עם אימות משתמשים:
|
|||
מחיקת הודעה |
עם אימות משתמשים:
|
|||
תגובות | ||||
יצירת תגובה באמוג'י | — |
באמצעות אימות משתמש:
|
||
רשימת התגובות | — |
באמצעות אימות משתמש:
|
||
מחיקת תגובה באמוג'י | — |
באמצעות אימות משתמש:
|
||
סמלי אמוג'י מותאמים אישית | ||||
יצירת אמוג'י בהתאמה אישית | — |
עם אימות משתמשים:
|
||
מחיקת אמוג'י בהתאמה אישית | — |
באמצעות אימות משתמש:
|
||
קבלת אמוג'י בהתאמה אישית | — |
עם אימות משתמשים:
|
||
רשימת סמלי אמוג'י מותאמים אישית | — |
באמצעות אימות משתמש:
|
||
מדיה קבצים מצורפים | ||||
העלאת מדיה כקובץ מצורף | — |
באמצעות אימות משתמש:
|
||
הורדת המדיה |
באמצעות אימות משתמש:
|
|||
איך מקבלים קובץ מצורף להודעה | — |
באמצעות אימות אפליקציה:
|
||
מצבי קריאה של משתמשים | ||||
קבלת מצב קריאת מרחב של משתמש | — |
עם אימות משתמשים:
|
||
עדכון מצב הקריאה של מרחב משתמש | — |
באמצעות אימות משתמש:
|
||
קבלת מצב קריאת השרשור של משתמש | — |
עם אימות משתמשים:
|
||
אירועים ב-Spaces | ||||
קבלת אירועים בחלל | — |
כשמשתמשים באימות משתמשים, צריך להשתמש בהיקף שמבוסס על סוג האירוע:
|
||
הצגת רשימה של אירועים במרחב המשותף | — |
כשמשתמשים באימות משתמשים, צריך להשתמש בהיקף לכל סוג אירוע שכלול בבקשה:
|
באירועי אינטראקציה של אפליקציית Chat
בטבלה הבאה מפורטות הדרכים הנפוצות שבהן משתמשים מקיימים אינטראקציה אפליקציות צ'אט והאם נדרש או נתמך אימות?
תרחיש | לא נדרש אימות | תמיכה באימות משתמשים | תמיכה באימות אפליקציות | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
קבלת הודעות מ: |
|
|||||||||||||||
איך עונים להודעות: |
|
|||||||||||||||
שליחת הודעות חדשות: |
|
נושאים קשורים
- לסקירה כללית של אימות והרשאה ב-Google Workspace: לראות מידע על אימות ו .
- בסקירה הכללית על אימות תוכלו לקרוא על תהליך האימות וההרשאה ב-Google Cloud.
- למידע נוסף על חשבונות שירות, ראו חשבונות שירות.
- מידע נוסף על האופן שבו Google APIs משתמשים ב-OAuth 2.0 זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
- מגדירים אימות והרשאה באמצעות פרטי כניסה של משתמש או באמצעות חשבון שירות.