מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, REGION_ID.r נכלל בכתובות URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
מוסיפים לשירות האינטרנט תהליך כניסה למשתמשים שמשתמש באימות ב-Firebase.
בשלב הזה במדריך, מעדכנים את שירות האינטרנט כדי לאמת משתמשים וכדי לאחזר ולהציג את המידע של המשתמש אחרי שהוא מבצע אימות. הערה: בשלב הזה, זמני הבקשה של האתר עדיין יהיו כלליים ולא ספציפיים למשתמש.
לפני שמתחילים
אם ביצעתם את כל השלבים הקודמים במדריך הזה, אתם יכולים לדלג על הקטע הזה. אם לא, מבצעים אחת מהפעולות הבאות:
מתחילים מהמאמר פיתוח אפליקציה ב-Python 3 ומשלימים את כל השלבים עד לשלב הזה.
אם כבר יש לכם פרויקט, אתם יכולים להמשיך בהורדה של עותק של שירות האינטרנט והוספה של Firebase:Google Cloud
מורידים את מאגר האפליקציה לדוגמה באמצעות Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samplesאפשרות נוספת היא להוריד את הדוגמה כקובץ ZIP ואז לחלץ אותה.
עוברים אל הספרייה שמכילה עותק של הקבצים מהשלב הקודם:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-2
הוספת שיטות אימות של Firebase
Firebase מספקת משתנים ושיטות JavaScript שבהם אפשר להשתמש כדי להגדיר את התנהגות הכניסה לשירות האינטרנט. בשירות האינטרנט הזה, מוסיפים פונקציה ליציאה מהחשבון, משתנה שמגדיר את ממשק המשתמש לכניסה לחשבון, ופונקציה ששולטת בשינויים שמתרחשים כשמשתמש נכנס לחשבון או יוצא ממנו.
כדי להוסיף את ההתנהגויות הנדרשות לתהליך אימות, מחליפים את שיטת event listener הנוכחית בקובץ static/script.js בקוד הבא:
שימו לב שהשיטה onAuthStateChanged(), שקובעת אילו שינויים יתרחשו כשמשתמש מתחבר או מתנתק, שומרת את אסימון המזהה של המשתמש כקובץ Cookie.
טוקן המזהה הזה הוא טוקן ייחודי שנוצר אוטומטית על ידי Firebase כשמשתמש נכנס בהצלחה לחשבון, והוא משמש את השרת לאימות המשתמש.
עדכון שירות האינטרנט לשימוש באסימונים
לאחר מכן, מאמתים את המשתמשים בשרת באמצעות טוקן Firebase ID הייחודי שלהם, ואז מפענחים את הטוקן כדי שתוכלו להדפיס את הנתונים שלהם בחזרה.
כדי להשתמש באסימון המזהה של Firebase:
מאחזרים, מאמתים ומפענחים את האסימון בשיטה
rootבקובץ:main.pyמוודאים שקובץ ה-
requirements.txtכולל את כל התלויות הנדרשות:
בדיקת שירות האינטרנט
בודקים את שירות האינטרנט על ידי הפעלתו באופן מקומי בסביבה וירטואלית:
מריצים את הפקודות הבאות בספרייה הראשית של הפרויקט כדי להתקין יחסי תלות חדשים ולהריץ את שירות האינטרנט. אם לא הגדרתם סביבה וירטואלית לבדיקה מקומית, כדאי לעיין במאמר בנושא בדיקת שירות האינטרנט.
pip install -r requirements.txt python main.pyכדי לראות את שירות האינטרנט, מזינים את הכתובת הבאה בדפדפן האינטרנט:
http://localhost:8080
פריסת שירות האינטרנט
עכשיו, אחרי שאימתתם שהאימות פועל באופן מקומי, אתם יכולים לפרוס מחדש את שירות האינטרנט ב-App Engine.
מריצים את הפקודה הבאה מתיקיית הרמה הבסיסית (root) של הפרויקט, שבה נמצא הקובץ app.yaml:
gcloud app deploy
כל התנועה מנותבת אוטומטית לגרסה החדשה שפרסתם.
מידע נוסף על ניהול גרסאות זמין במאמר ניהול שירותים וגרסאות.
צפייה בשירות
כדי להפעיל במהירות את הדפדפן ולגשת לשירות האינטרנט בכתובת https://PROJECT_ID.REGION_ID.r.appspot.com, מריצים את הפקודה הבאה:
gcloud app browse
השלבים הבאים
אחרי שהגדרתם אימות משתמשים, אתם יכולים לעדכן את שירות האינטרנט כדי להתאים אישית את הנתונים למשתמשים מאומתים.