Firebase App Hosting מתאים באופן טבעי לאפליקציות אינטרנט דינמיות שנבנו באמצעות Firebase JavaScript SDK ו-Firebase Admin SDK ל-Node.js. באפליקציית אינטרנט עם תכונות מלאות, לערכות SDK כמו Firebase, Authentication ו-Cloud Firestore יש תפקידים חשובים.App Check במדריך הזה מתוארות כמה אסטרטגיות מרכזיות שיעזרו לכם לבצע אופטימיזציה של ערכות SDK ולהתחיל לשלב את Firebase באפליקציית האינטרנט שלכם ב-Firebase App Hosting.Firebase
אתחול אוטומטי של Firebase Admin SDK וערכות SDK לאינטרנט
סביבות Google, כמו Firebase App Hosting, מספקות אתחול פשוט של אפליקציות באמצעות קריאה לבונה ללא ארגומנטים בזמן הבנייה ובזמן הריצה. התכונה הזו זמינה גם ב-Firebase Admin SDK ל-Node.js – SDK בצד השרת שמאפשר גישה למגוון רחב של פונקציות של Firebase ויכול להיות שימושי מאוד באפליקציית האינטרנט שלכם – וגם ב-Firebase JavaScript SDK.
עם initializeApp()
, אתם יכולים לאפשר ל-Firebase App Hosting לאכלס באופן אוטומטי את ההגדרה של אפליקציית האינטרנט, ועדיין לשמור על האפשרות לשליטה מדויקת בערכים ספציפיים אם אתם רוצים לבטל את ערכי ברירת המחדל.
הפעלה ללא ארגומנטים
כדי להפעיל את Firebase JavaScript SDK או את Firebase Admin SDK עם ערכי ברירת מחדל של ההגדרות, משתמשים ב-initializeApp()
בלי לספק ארגומנטים:
Admin SDK
import { initializeApp } from 'firebase-admin/app';
const app = initializeApp();
JavaScript SDK
import { initializeApp } from 'firebase/app';
const app = initializeApp();
האסטרטגיה הזו לאתחול Admin SDK פועלת גם ב-App Hosting וגם בסביבות שרתים אחרות של Google, כולל Cloud Run, App Engine ו-Cloud Functions. ב-JavaScript SDK, השיטה הזו פועלת ב-App Hosting.
ביטול הערכים שמולאו אוטומטית
אתם יכולים לשנות את הגדרת ברירת המחדל שמוזנת באופן אוטומטי. הערה: האפשרויות האלה שונות ב-Admin SDK וב-JavaScript SDK.
Admin SDK ביטול
כדי לציין אפשרויות אתחול מותאמות אישית לשירותים כמו Realtime Database, Cloud Storage או Cloud Functions, משתמשים במשתנה הסביבה FIREBASE_CONFIG
. אם התוכן של המשתנה FIREBASE_CONFIG
מתחיל בתו {
, הוא ינותח כאובייקט JSON. אחרת, ה-SDK מניח שהמחרוזת היא הנתיב של קובץ JSON שמכיל את האפשרויות.
# apphosting.yaml
env:
- variable: FIREBASE_CONFIG
value: '{"credential: applicationDefault()","databaseURL":"https://project-id-default-rtdb.firebaseio.com"}'
החלפת ברירת המחדל ב-JavaScript SDK
כדי לשנות את ערכי ברירת המחדל של FIREBASE_WEBAPP_CONFIG
שמוחדרים על ידי App Hosting לאתחול של JavaScript SDK, אפשר לציין ערכים ב-apphosting.yaml
:
# apphosting.yaml
env:
- variable: FIREBASE_WEBAPP_CONFIG
value: '{"apiKey":"myApiKey","appId":"app:123","authDomain":"project-id.firebaseapp.com","databaseURL":"https://project-id-default-rtdb.firebaseio.com","messagingSenderId":"0123456789","projectId":"project-id","storageBucket":"project-id.firebasestorage.app"}'
שימוש בהפעלה אוטומטית בסביבות אחרות
ההגדרה של אתחול אוטומטי מתבצעת באמצעות סקריפט npm postinstall כשמתקינים את Firebase JavaScript SDK. הסקריפט postinstall מחפש את משתנה הסביבה FIREBASE_WEBAPP_CONFIG
, שמוגדר אוטומטית בסביבת Cloud Build App Hosting.
אם מתקינים את JS SDK מחוץ ל-Cloud Build, צריך להגדיר את משתנה הסביבה הזה בעצמכם כשמתקינים את Firebase JavaScript SDK.
כדי להגדיר את הסביבה באופן ידני במהלך ההתקנה:
מעתיקים את אובייקט התצורה של אפליקציית האינטרנט של Firebase ממסוף Firebase.
בטרמינל, מגדירים את משתנה הסביבה
FIREBASE_WEBAPP_CONFIG
לפני שמריצים את הפקודהnpm install
.
FIREBASE_WEBAPP_CONFIG="{...}" npm install firebase
בכל פעם שמשנים את פרויקט Firebase או את אפליקציית האינטרנט, צריך להריץ מחדש את הפקודה הזו.
שימוש ב-FirebaseServerApp
ל-SSR
אם השתמשתם ב-Firebase JS SDK או בערכות SDK אחרות של Firebase ללקוח בפיתוח של אפליקציית האינטרנט, אתם כנראה מכירים את הממשק FirebaseApp
ואת אופן השימוש בו להגדרת מופעים של אפליקציות. כדי להקל על פעולות דומות בצד השרת, Firebase מספקת את FirebaseServerApp
.
FirebaseServerApp
הוא וריאנט של FirebaseApp
לשימוש בסביבות של עיבוד בצד השרת (SSR). הוא כולל כלים להמשך סשנים של Firebase
שמתפרסים על פני חלוקת הרנדור בצד הלקוח (CSR) / הרנדור בצד השרת.
השתמש בFirebaseServerApp
כדי:
- להריץ קוד בצד השרת בהקשר של המשתמש, בניגוד ל-Firebase Admin SDK שיש לו הרשאות ניהול מלאות.
- הפעלת השימוש ב-App Check בסביבות SSR.
- המשך של סשן Firebase Auth שנוצר בלקוח.
לפרטים מלאים על השימוש ב-FirebaseServerApp
למטרות האלה, אפשר לעיין במאמר שימוש ב-Firebase באפליקציות אינטרנט דינמיות עם SSR.
הפעלת App Check באפליקציית האינטרנט
אפשר להשתמש ב-App Check כדי לחזק את האבטחה של אפליקציית האינטרנט הדינמית ב-App Hosting. יישום של חלק מהאסטרטגיות הספציפיות בצד השרת שמתוארות במאמר שימוש ב-Firebase באפליקציות אינטרנט דינמיות עם SSR יכול לעזור לכם להגן על ה-Backend של App Hosting מפני ניצול לרעה.