דרישות מוקדמות
במאמר הזה אנחנו יוצאים מנקודת הנחה שכבר:
הגדרת אימות
כדי לבצע אימות באמצעות חשבון שירות:
מייבאים את App Engine Endpoints API בכיתת ה-API:
import endpointsמוסיפים אובייקט של מנפיק לחשבון השירות אל הדקורטור של ה-API. לדוגמה:
@endpoints.api( name='echo', version='v1', issuers={'serviceAccount': endpoints.Issuer( 'YOUR_SERVICE_ACCOUNT_EMAIL', 'https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL')}, audiences={'serviceAccount': ['YOUR_AUDIENCE']})- מחליפים את
echoבשם ה-API. - מחליפים את
v1בגרסת ה-API. - מחליפים את
YOUR_SERVICE_ACCOUNT_EMAILבכתובת האימייל בחשבון השירות. - מחליפים את
YOUR_AUDIENCEבערך שבשדהaudשנשלח על ידי שירות הקריאה.
- מחליפים את
בכל שיטת API שבה רוצים לבדוק אם יש אימות תקין, צריך לבדוק אם יש
Userתקין ולהציג את השגיאה401אם אין כזה, כמו שמוצג בהגדרת השיטה לדוגמה הזו:user = endpoints.get_current_user() # If there's no user defined, the request was unauthenticated, so we # raise 401 Unauthorized.פורסים את ה-API. צריך לפרוס מחדש את ה-API בכל פעם שמוסיפים לקוחות חדשים.