מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
מוסיפים לשירות האינטרנט תהליך כניסה למשתמשים שמשתמש באימות ב-Firebase.
בשלב הזה במדריך, מעדכנים את שירות האינטרנט כדי לאמת משתמשים וכדי לאחזר ולהציג את המידע של המשתמש אחרי שהוא מבצע אימות. הערה: בשלב הזה, זמני הבקשה של האתר עדיין יהיו כלליים ולא ספציפיים למשתמש.
לפני שמתחילים
אם השלמתם את כל השלבים הקודמים במדריך הזה, אתם יכולים לדלג על הקטע הזה. אם לא, מבצעים אחת מהפעולות הבאות:
מתחילים מהמאמר פיתוח אפליקציה ב-Python 3 ומשלימים את כל השלבים עד לשלב הזה.
אם כבר יש לכם פרויקט שלGoogle Cloud , אתם יכולים להמשיך בהורדת עותק של שירות האינטרנט והוספה של Firebase:
מורידים את מאגר האפליקציה לדוגמה באמצעות 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 שבהם אפשר להשתמש כדי להגדיר את התנהגות הכניסה לשירות האינטרנט. בשירות האינטרנט הזה, מוסיפים פונקציה ליציאה מהחשבון, משתנה שמגדיר את ממשק המשתמש לכניסה לחשבון, ופונקציה ששולטת בשינויים שמתרחשים כשמשתמש נכנס לחשבון או יוצא ממנו.
כדי להוסיף את ההתנהגויות הנדרשות לתהליך אימות, מחליפים את שיטת מאזין האירועים הנוכחית בקובץ 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.
מריצים את הפקודה הבאה מתיקיית הבסיס של הפרויקט, שבה נמצא הקובץ app.yaml:
gcloud app deploy
כל התנועה מנותבת אוטומטית לגרסה החדשה שפרסתם.
מידע נוסף על ניהול גרסאות זמין במאמר ניהול שירותים וגרסאות.
צפייה בשירות
כדי להפעיל במהירות את הדפדפן ולגשת לשירות האינטרנט בכתובת https://PROJECT_ID.REGION_ID.r.appspot.com, מריצים את הפקודה הבאה:
gcloud app browse
השלבים הבאים
אחרי שהגדרתם אימות משתמשים, אתם יכולים לעדכן את שירות האינטרנט כדי להתאים אישית את הנתונים למשתמשים מאומתים.