Cloud Endpoints Frameworks תומך בכמה שיטות אימות שמתאימות לאפליקציות ולתרחישים שונים. Endpoints Frameworks משתמש בשיטת האימות שציינתם בהערה כדי לאמת בקשות נכנסות לפני שהוא מעביר אותן ל-API backend. במסמך הזה מופיעה סקירה כללית של כל שיטת אימות נתמכת, וגם תרחישים לדוגמה לשימוש בכל שיטה.
מפתחות API
מפתח API הוא מחרוזת מוצפנת פשוטה שמזההGoogle Cloud פרויקט למטרות מכסה, חיוב ומעקב. מפתח יוצר מפתח API בפרויקט במסוף Google Cloud ומשבץ את המפתח הזה בכל קריאה ל-API שלכם כפרמטר של שאילתה.
אם מציינים בדף ההערות דרישה למפתח API, Endpoints Frameworks משתמש במפתח ה-API כדי לחפש אתGoogle Cloud הפרויקט שמפתח ה-API משויך אליו. Endpoints Frameworks דוחה בקשות אלא אם מפתח ה-API נוצר בפרויקט Google Cloud או בפרויקטים אחריםGoogle Cloud שבהם ה-API הופעל. מידע נוסף זמין במאמר הגבלת הגישה לממשקי API באמצעות מפתחות API.
בניגוד לפרטי כניסה שמשתמשים באסימונים לטווח קצר או בבקשות חתומות ונשלחים בכותרת הבקשה, לקוחות שולחים מפתח API כפרמטר של שאילתה. למרות שפרמטרים של שאילתות מוצפנים ב-HTTPS, מפתחות API לא מאובטחים. לדוגמה, יכול להיות ששרתים מסוימים יאחסנו את כתובת ה-URL המלאה של כל בקשה בטקסט גלוי ביומן שרת. מטעמי אבטחה, אל תשתמשו במפתחות API לבד כשקריאות ה-API מכילות נתוני משתמשים. אפשר להשתמש במפתחות API בנוסף לאחת משיטות האימות הבאות.
במאמר שימוש במפתחות API מפורטות שיטות מומלצות להוספת הגבלות למפתחות API ולאבטחתם. למרות שהמאמר בנושא שימוש במפתחות API מיועד ללקוחות שמשתמשים ב-Google APIs, שיטות העבודה המומלצות רלוונטיות גם לממשקי API שאתם יוצרים באמצעות Endpoints Frameworks.
תרחיש שימוש
אם רוצים להשתמש בתכונות של Endpoints כמו quotas, צריך להעביר מפתח API בכל בקשה כדי ש-Endpoints יוכל לזהות את הפרויקט שאליו משויכת אפליקציית הלקוח. Google Cloud
מידע נוסף על מפתחות API זמין במאמר למה ומתי כדאי להשתמש במפתחות API.
אימות ב-Firebase
אימות ב-Firebase מספק שירותי קצה עורפי, ערכות SDK וספריות לאימות משתמשים באפליקציה לנייד או באפליקציית אינטרנט. הוא מאמת משתמשים באמצעות מגוון פרטי כניסה כמו Google, Facebook, Twitter או GitHub.
ספריית הלקוח של Firebase חותמת על JSON Web Token (JWT) באמצעות מפתח פרטי אחרי שהמשתמש נכנס בהצלחה.
Endpoints Frameworks מוודא שאסימון ה-JWT נחתם על ידי Firebase ושההצהרה iss (מנפיק) באסימון ה-JWT, שמזהה את אפליקציית Firebase, תואמת להגדרה issuer בהערה.
תרחיש שימוש
אימות ב-Firebase משולב באופן הדוק עם שירותים אחרים של Firebase, ולכן הוא מתאים לאפליקציות לנייד או לאפליקציות אינטרנט שמשתמשות ב-Firebase. אימות באמצעות Firebase Auth
Auth0
Auth0 מאמתת ומאשרת אפליקציות וממשקי API, ללא קשר לספק הזהויות, לפלטפורמה, לסטאק ולמכשיר.
Auth0 תומכת במספר גדול של ספקים ובמפרט של Security Assertion Markup Language (שפת סימון של הצהרות אבטחה). הוא מספק שירותים לקצה העורפי, ערכות SDK וספריות של ממשקי משתמש לאימות משתמשים באפליקציות לנייד ובאפליקציות לאינטרנט. Auth0 משתלב עם כמה ספקי זהויות של צד שלישי, ומספק גם ניהול מותאם אישית של חשבונות משתמשים.
ספריית הלקוח שסופקה על ידי Auth0 יוצרת וחותמת על JWT אחרי שהמשתמש נכנס לחשבון. Endpoints Frameworks מאמת שה-JWT נחתם על ידי Auth0, ושההצהרה 'iss' ב-JWT, שמזהה את אפליקציית Auth0, תואמת להגדרה issuer בהערה.
תרחיש שימוש
Auth0 מתאים לאפליקציות לנייד ולאפליקציות אינטרנט לצרכנים ולעסקים. למידע נוסף, ראו אימות באמצעות Auth0.
אימות באמצעות טוקן מזהה של Google
אימות באמצעות טוקן של מזהה Google מאפשר למשתמשים
להיכנס לחשבון Google כדי לעבור אימות. אחרי האימות, למשתמש יש גישה לכל שירותי Google. אתם יכולים להשתמש באסימונים מזהים של Google כדי לשלוח קריאות ל-Google APIs ולממשקי API שהטמעתם באמצעות Endpoints Frameworks. Endpoints Frameworks מאמת את אסימון הזהות של Google באמצעות המפתח הציבורי, ומוודא שההצהרה iss ב-JWT היא https://accounts.google.com או accounts.google.com.
תרחיש שימוש
מומלץ לבצע אימות באמצעות אסימון מזהה של Google אם לכל המשתמשים יש חשבונות Google. לדוגמה, יכול להיות שתבחרו להשתמש באימות באמצעות אסימון מזהה של Google אם ה-API שלכם מלווה אפליקציות של Google Workspace (לדוגמה, תוסף ל-Google Drive). אימות באמצעות טוקן מזהה של Google מאפשר למשתמשים לעבור אימות על ידי כניסה לחשבון Google. אחרי האימות, למשתמש יש גישה לכל שירותי Google.
מידע נוסף זמין במאמר אימות באמצעות טוקנים של מזהה Google.
אסימוני JWT וחשבונות שירות
אסימון אינטרנט מסוג JSON (JWT) משמש בדרך כלל לשיתוף טענות או הצהרות בין אפליקציות מקושרות. אפשר לחתום על JWT שמייצג חשבון שירות באחת מהדרכים הבאות:
חשבון השירות.
שירות ההרשאות של Google. (אסימון JWT שנחתם על ידי שירות ההרשאה של Google נקרא אסימון מזהה של Google).
יכול להיות שיהיה לכם קל יותר להטמיע אימות של בקשה באמצעות JWT בחתימה של חשבון שירות, אבל אם יש לכם מספר גדול של חשבונות שירות, או אם אתם רוצים לקבל פרטי כניסה מחשבונות שירות שלא בבעלותכם, מומלץ להשתמש באסימון מזהה Google, כי אתם צריכים לאפשר רק את https://accounts.google.com או accounts.google.com כמנפיק לכל חשבונות השירות.
תרחיש שימוש
אסימוני JWT וחשבונות שירות מתאימים מאוד למיקרו-שירותים. מידע נוסף זמין במאמר אימות באמצעות חשבון שירות.