1. מבוא
תאריך עדכון אחרון: 23 בפברואר 2023
איך אפשר למנוע גישה לא מורשית למשאבי Firebase?
אתם יכולים להשתמש ב-Firebase App Check כדי למנוע מלקוחות לא מורשים לגשת למשאבי הקצה העורפי שלכם. לשם כך, עליכם לדרוש שבקשות נכנסות יותאמו לאימות (attestation) שמאשר שהבקשה מגיעה מהאפליקציה המקורית שלכם, ולחסום תנועה שאין לה אימות תקין. Firebase App Check מסתמך על ספקי אימות ספציפיים לפלטפורמה כדי לאמת את האותנטיות של הלקוח: באפליקציות אינטרנט, App Check תומך ב-reCAPTCHA v3 וב-reCAPTCHA Enterprise כספקי אימות.
אפשר להשתמש ב-App Check כדי להגן על בקשות ל-Cloud Firestore, ל-Realtime Database, ל-Cloud Functions, לאימות ב-Firebase באמצעות Identity Platform ובקצוות עורפיים שאתם מארחים בעצמכם.
מה תפַתחו
בקודלאב הזה תלמדו לאבטח אפליקציית צ'אט על ידי הוספה ואכיפה של בדיקת האפליקציה.
מה תלמדו
- איך לעקוב אחרי הגישה לקצה העורפי כדי למנוע גישה לא מורשית
- איך מוסיפים אכיפה ל-Firestore ול-Cloud Storage
- איך מריצים את האפליקציה עם אסימון ניפוי באגים לפיתוח מקומי
מה צריך להכין
- סביבת הפיתוח המשולבת או עורך הטקסט שבחרתם
- מנהל החבילות npm, שמגיע בדרך כלל עם Node.js
- CLI של Firebase שמותקן ומוגדר לעבודה עם החשבון שלכם
- מסוף/מסוף
- דפדפן לבחירתכם, כמו Chrome
- קוד לדוגמה ב-Codelab (כדי לקבל את הקוד, עיינו בשלב הבא ב-Codelab).
2. קבלת קוד לדוגמה
משכפלים את מאגר הנתונים ב-GitHub של הקוד למעבדה משורת הפקודה:
git clone https://github.com/firebase/codelab-friendlychat-web
לחלופין, אם Git לא מותקן, אפשר להוריד את המאגר כקובץ ZIP.
ייבוא האפליקציה לתחילת הדרך
באמצעות סביבת הפיתוח המשולבת, פותחים או מייבאים את התיקייה 📁 appcheck-start
מהמאגר שהועתק. הספרייה 📁 appcheck-start
מכילה את קוד ההתחלה של סדנת הקוד, שתהיה אפליקציית צ'אט פונקציונלית לחלוטין. בספרייה 📁 appcheck
יהיה הקוד המלא של סדנת הקוד.
3. יצירת פרויקט Firebase והגדרתו
יצירת פרויקט Firebase
- נכנסים ל-Firebase.
- במסוף Firebase, לוחצים על 'הוספת פרויקט' ומעניקים לפרויקט ב-Firebase את השם FriendlyChat. חשוב לזכור את מזהה הפרויקט ב-Firebase.
- מבטלים את הסימון של האפשרות 'הפעלת Google Analytics בפרויקט הזה'.
- לוחצים על Create Project.
באפליקציה שנבנה נשתמש במוצרי Firebase שזמינים לאפליקציות אינטרנט:
- אימות ב-Firebase כדי לאפשר למשתמשים להיכנס לאפליקציה בקלות.
- Cloud Firestore לאחסון נתונים מובְנים בענן ולקבלת התראות מיידיות כשהנתונים משתנים.
- Cloud Storage for Firebase לשמירת קבצים בענן.
- אירוח ב-Firebase לאירוח הנכסים ולהצגתם.
- העברת הודעות בענן ב-Firebase כדי לשלוח התראות ב-push ולהציג התראות קופצות בדפדפן.
- מעקב אחר ביצועים ב-Firebase כדי לאסוף נתוני ביצועים של משתמשים באפליקציה.
חלק מהמוצרים האלה דורשים הגדרה מיוחדת או צריך להפעיל אותם באמצעות מסוף Firebase.
שדרוג של תוכנית התמחור ב-Firebase
כדי להשתמש ב-Cloud Storage for Firebase, פרויקט Firebase צריך להיות בתוכנית התמחור 'תשלום לפי שימוש' (Blaze), כלומר הוא צריך להיות מקושר לחשבון לחיוב ב-Cloud.
- בחשבון לחיוב ב-Cloud נדרש אמצעי תשלום, כמו כרטיס אשראי.
- אם אתם משתמשים חדשים ב-Firebase וב-Google Cloud, כדאי לבדוק אם אתם זכאים לקרדיט בסך 300$ולחשבון לחיוב ב-Cloud בתקופת ניסיון בחינם.
- אם אתם מבצעים את הקודלאב הזה כחלק מאירוע, כדאי לשאול את המארגן אם יש זיכויים ב-Cloud שזמינים.
כדי לשדרג את הפרויקט לתוכנית Blaze:
- במסוף Firebase, בוחרים באפשרות שדרוג התוכנית.
- בוחרים את תוכנית Blaze. פועלים לפי ההוראות במסך כדי לקשר חשבון לחיוב ב-Cloud לפרויקט.
אם נדרשת יצירת חשבון לחיוב ב-Cloud כחלק מהשדרוג, יכול להיות שתצטרכו לחזור לתהליך השדרוג במסוף Firebase כדי להשלים את השדרוג.
הוספת אפליקציית אינטרנט של Firebase לפרויקט
- לוחצים על סמל האינטרנט כדי ליצור אפליקציית אינטרנט חדשה ב-Firebase.
- רושמים את האפליקציה עם הכינוי Friendly Chat ומסמנים את התיבה לצד Also set up Firebase Hosting for this app (גם להגדיר אירוח ב-Firebase לאפליקציה הזו). לוחצים על Register app (רישום האפליקציה).
- בשלב הבא תוצג לכם פקודה להתקנת Firebase באמצעות npm ואובייקט תצורה. מעתיקים את האובייקט הזה בהמשך הקודלאב, לכן בינתיים לוחצים על הבא.
- לאחר מכן תוצג לכם אפשרות להתקין את Firebase CLI. אם עדיין לא התקנתם אותו, התקינו אותו עכשיו באמצעות הפקודה
npm install -g firebase-tools
. לאחר מכן לוחצים על Next. - לאחר מכן תוצג לכם אפשרות להתחבר ל-Firebase ולפרוס את האפליקציה ב-Firebase Hosting. מתחברים ל-Firebase באמצעות הפקודה
firebase login
ולוחצים על Continue to Console (המשך למסוף). פורסים את האפליקציה באירוח ב-Firebase בשלב מאוחר יותר.
הפעלת כניסה באמצעות חשבון Google לאימות ב-Firebase
כדי לאפשר למשתמשים להיכנס לאפליקציית האינטרנט באמצעות חשבונות Google שלהם, נשתמש בשיטת הכניסה של Google.
צריך להפעיל את הכניסה באמצעות חשבון Google:
- במסוף Firebase, מאתרים את הקטע Build בחלונית הימנית.
- לוחצים על Authentication (אימות), לוחצים על Get Started (תחילת העבודה) אם רלוונטי, ואז לוחצים על הכרטיסייה Sign-in method (שיטת כניסה) (או לוחצים כאן כדי לעבור ישירות לשם).
- הפעלת ספק הכניסה באמצעות חשבון Google
- מגדירים את השם הציבורי של האפליקציה כ-Friendly Chat ובוחרים כתובת אימייל לתמיכה בפרויקט מהתפריט הנפתח.
- לוחצים על שמירה.
הגדרת Cloud Firestore
אפליקציית האינטרנט משתמשת ב-Cloud Firestore כדי לשמור הודעות צ'אט ולקבל הודעות צ'אט חדשות.
כך מגדירים את Cloud Firestore בפרויקט Firebase:
- בחלונית הימנית של מסוף Firebase, מרחיבים את Build ובוחרים באפשרות Firestore database.
- לוחצים על Create database.
- משאירים את הערך
(default)
בשדה Database ID. - בוחרים מיקום למסד הנתונים ולוחצים על הבא.
באפליקציה אמיתית, כדאי לבחור מיקום קרוב למשתמשים. - לוחצים על התחלה במצב בדיקה. קוראים את כתב הוויתור לגבי כללי האבטחה.
בהמשך הסדנה תוסיפו כללי אבטחה כדי לאבטח את הנתונים. אסור להפיץ או לחשוף אפליקציה באופן ציבורי בלי להוסיף כללי אבטחה למסד הנתונים. - לוחצים על יצירה.
הגדרת Cloud Storage for Firebase
אפליקציית האינטרנט משתמשת ב-Cloud Storage for Firebase כדי לאחסן, להעלות ולשתף תמונות.
כך מגדירים את Cloud Storage for Firebase בפרויקט Firebase:
- בחלונית הימנית של מסוף Firebase, מרחיבים את Build ובוחרים באפשרות Storage.
- לוחצים על תחילת העבודה.
- בוחרים מיקום לקטגוריית ברירת המחדל של האחסון.
קטגוריות ב-US-WEST1
, ב-US-CENTRAL1
וב-US-EAST1
יכולות ליהנות מהתוכנית 'תמיד בחינם' ב-Google Cloud Storage. קטגוריות בכל המיקומים האחרים כפופות לתמחור ולשימוש ב-Google Cloud Storage. - לוחצים על התחלה במצב בדיקה. קוראים את כתב הוויתור לגבי כללי האבטחה.
בהמשך הסדנה תוסיפו כללי אבטחה כדי לאבטח את הנתונים. אין להפיץ או לחשוף אפליקציה באופן ציבורי בלי להוסיף כללי אבטחה לקטגוריית האחסון. - לוחצים על יצירה.
4. הגדרת Firebase
בספרייה appcheck-start
, מריצים את הפקודה:
firebase use --add
כשמופיעה בקשה, בוחרים את מזהה הפרויקט ומעניקים לפרק ה-Firebase כינוי. לפרויקט הזה, אפשר פשוט לתת כינוי חלופי של default. בשלב הבא תצטרכו להגדיר את הפרויקט המקומי כך שיעבוד עם Firebase.
- עוברים אל הגדרות הפרויקט במסוף Firebase.
- בכרטיס 'האפליקציות שלך', בוחרים את הכינוי של האפליקציה שעבורה צריך אובייקט תצורה.
- בוחרים באפשרות Config בחלונית של קטע הקוד של Firebase SDK.
- מעתיקים את קטע הקוד של אובייקט התצורה ומוסיפים אותו לקובץ
appcheck-start/hosting/src/firebase-config.js
. בשאר הקוד של הסדנה נעשה שימוש בשם config למשתנה.
firebase-config.js
const config = {
apiKey: "API_KEY",
authDomain: "PROJECT_ID.firebaseapp.com",
databaseURL: "https://PROJECT_ID.firebaseio.com",
projectId: "PROJECT_ID",
storageBucket: "PROJECT_ID.firebasestorage.app",
messagingSenderId: "SENDER_ID",
appId: "APP_ID",
measurementId: "G-MEASUREMENT_ID",
};
מאותה ספרייה appcheck-start
, קוראים את הפקודה:
firebase experiments:enable webframeworks
כך תוכלו להשתמש בתמיכה במסגרת האינטרנט שבה השתמשתם בבניית הפרויקט.
עכשיו אנחנו מוכנים להריץ את הפרויקט ולבדוק אם פרויקט ברירת המחדל פועל.
5. איך בודקים את האפליקציה בלי 'בדיקת האפליקציה'
עכשיו, אחרי שהגדרתם את האפליקציה וה-SDK, נסו להשתמש באפליקציה כפי שהיא תוכננה במקור. קודם כול, מתקינים את כל יחסי התלות. במסוף, עוברים לספרייה appcheck-start/hosting
. בתוך הספרייה הזו, מריצים את הפקודה npm install
. הפעולה הזו אוספת את כל יחסי התלות הנדרשים לפרויקט כדי לפעול. כדי להפעיל את האפליקציה במצב הנוכחי, אפשר להריץ את הפקודה firebase serve
. באפליקציה תתבקשו להתחבר באמצעות חשבון Google. התחברו ואז נסו לשלוח כמה הודעות בצ'אט וכמה תמונות.
עכשיו, אחרי שבדקתם את הקוד באופן מקומי, הגיע הזמן לבדוק אותו בסביבת הייצור. מריצים את firebase deploy
כדי לפרוס את אפליקציית האינטרנט באינטרנט. החלק הזה הוא שלב חיוני בהדגמה של אופן הפעולה של App Check בעולם האמיתי, כי צריך להגדיר דומיין לספק האימות של reCAPTCHA Enterprise.
אני מקווה שהאפליקציה פועלת כמו שצריך. לפרסם הודעות בצ'אט וכל דבר אחר שצריך לעשות רק מאפליקציה כזו. החיסרון של המצב הנוכחי הוא שכל מי שיש לו את הגדרות האפליקציה מהשלב הקודם יכול לגשת למשאבי הקצה העורפי. הם עדיין צריכים לציית לכללי האבטחה שחלים על מערכות Firestore ו-Cloud Storage, אבל חוץ מזה הם עדיין יכולים לשלוח שאילתות, לאחסן נתונים ולגשת אליהם.
בשלבים הבאים:
- הרשמה לבדיקה של האפליקציה
- אימות האכיפה
- מתחילים לאכוף את הכללים
6. הפעלת בדיקת האפליקציות והאכיפה
נתחיל בקבלת מפתח reCAPTCHA Enterprise לפרויקט והוספתו ל-App Check. כדי להתחיל, נכנסים לקטע reCAPTCHA Enterprise במסוף Google Cloud. בוחרים את הפרויקט, ואז מופיעה בקשה להפעיל את reCAPTCHA Enterprise API. מפעילים את ה-API ומחכים כמה דקות עד שהפעולה תסתיים. לאחר מכן לוחצים על Create Key לצד Enterprise keys. לאחר מכן, בקטע הזה, מציינים שם לתצוגה ובוחרים מפתח מסוג Website. צריך לציין את הדומיינים שבהם האפליקציה מתארחת. מכיוון שאתם מתכננים לארח את האתר הזה ב-Firebase Hosting, צריך להשתמש בשם ברירת המחדל לאירוח, שהוא בדרך כלל ${YOUR_PROJECT_ID}.web.app
. הדומיין המארח מופיע בקטע Hosting במסוף Firebase. אחרי שממלאים את הפרטים האלה, לוחצים על Done (סיום) ואז על Create Key (יצירת מפתח).
בסיום, מזהה יופיע בחלק העליון של הדף פרטי המפתח.
אפשר להעתיק את המזהה הזה ללוח. זהו המפתח שבו משתמשים ב-App Check. לאחר מכן, עוברים לקטע בדיקת האפליקציה במסוף Firebase ולוחצים על תחילת העבודה. לאחר מכן, לוחצים על Register (רישום) ואז על reCAPTCHA Enterprise (reCAPTCHA לארגונים) ומזינים את המזהה שהועתק בתיבת הטקסט של reCAPTCHA Enterprise Site Key (מפתח האתר של reCAPTCHA לארגונים). משאירים את שאר ההגדרות כברירת המחדל. הדף של בדיקת האפליקציה אמור להיראות כך:
בקשות לא מאומתות ולא נאכפות
עכשיו שיש לכם מפתח רשום במסוף Firebase, אתם יכולים לחזור להרצת האתר בדפדפן על ידי הפעלת הפקודה firebase serve
. עכשיו אפליקציית האינטרנט פועלת באופן מקומי, ותוכלו להתחיל לשלוח שוב בקשות לקצה העורפי של Firebase. הבקשות נשלחות לקצה העורפי של Firebase, והן נמצאות במעקב על ידי App Check, אבל לא מתבצעת אכיפה שלהן. כדי לראות את סטטוס הבקשות שמגיעות, אפשר להיכנס לקטע Cloud Firestore בכרטיסייה APIs בדף App Check במסוף Firebase. מכיוון שעדיין לא הגדרתם את הלקוח לשימוש ב-App Check, אמור להופיע משהו כזה:
בקצה העורפי מגיעות 100% בקשות לא מאומתות. המסך הזה שימושי כי הוא מראה שרוב הבקשות מהלקוחות מגיעות מלקוחות שלא שילבו את App Check.
לוח הבקרה הזה יכול להצביע על כמה דברים. הדבר הראשון שאפשר לבדוק הוא אם כל אפליקציות הלקוח פועלות בגרסה האחרונה של הלקוח. אם כן, תוכלו לאכוף את App Check בבטחה בלי לדאוג שתשביתו את הגישה של לקוח אמיתי של האפליקציה. הנתון הזה יכול גם להראות לכם כמה ניסיונות גישה לקצה העורפי הגיעו מחוץ לאפליקציה. יכול להיות שמדובר במשתמשים ששולחים שאילתות לקצה העורפי ישירות, ללא ידיעתכם. מאחר שאפשר לראות שהבקשות לא מאומתות, לפני שממשיכים לאמת את הבקשות, כדאי לבדוק מה יקרה למשתמשים שיכול להיות שיש להם בקשה לא מאומתת לקצה העורפי.
בקשות לא מאומתות ולא נאכפות
לוחצים על הלחצן אכיפה במסך הקודם, ואז לוחצים שוב על אכיפה אם מופיעה בקשה לעשות זאת.
הפעולה הזו תתחיל לאכוף את App Check, והיא תחסום עכשיו בקשות לשירותי הקצה העורפי שלא אומתו דרך ספק האימות שבחרתם (במקרה הזה, reCAPTCHA Enterprise). חוזרים לאפליקציית האינטרנט שפועלת, שאמורה לפעול בכתובת http://localhost:5000
. כשתרעננו את הדף ותנסו לקבל נתונים ממסד הנתונים, לא יקרה כלום. אם פותחים את מסוף Chrome כדי לקרוא את השגיאות, אמור להופיע משהו דומה לזה:
Uncaught Error in snapshot listener: FirebaseError: [code=permission-denied]: Missing or insufficient permissions.
מדובר בבקשות שנחסמו על ידי App Check כי הן לא העבירו אסימון אימות תקין בבקשות שלהן למשאבי Firebase. בינתיים, אפשר להשבית את האכיפה של בדיקת האפליקציות. בקטע הבא נסביר איך מוסיפים את בדיקת האפליקציות של reCAPTCHA Enterprise לדוגמה של צ'אט ידידותי.
7. הוספת מפתח reCAPTCHA Enterprise לאתר
אנחנו עומדים להוסיף את מפתח הארגון לאפליקציה שלך. קודם כול, פותחים את hosting/src/firebase-config.js
ומוסיפים את מפתח reCAPTCHA Enterprise לקטע הקוד הבא:
const reCAPTCHAEnterpriseKey = {
// Replace with your recaptcha enterprise site key
key: "Replace with your recaptcha enterprise site key"
};
בסיום, פותחים את hosting/src/index.js
ובשורה 51 מוסיפים ייבוא מ-firebase-config.js כדי לאחזר את מפתח reCAPTCHA, וגם מייבאים את הספרייה של App Check כדי שתוכלו לעבוד עם הספק של reCAPTCHA Enterprise.
// add from here
import {
initializeAppCheck,
ReCaptchaEnterpriseProvider,
} from 'firebase/app-check';
// to here
// replace this line
import { getFirebaseConfig } from './firebase-config.js';
// with this line
import { getFirebaseConfig, getReCaptchaKey } from './firebase-config.js';
בשורה הבאה, תיצורו פונקציה להגדרת App Check. הפונקציה תבדוק קודם אם אתם נמצאים בסביבת פיתוח, ואם כן, תדפיס אסימון ניפוי באגים שתוכלו להשתמש בו לפיתוח מקומי.
import { getFirebaseConfig, getReCaptchaKey } from './firebase-config.js';
// add from here
function setupAppCheck(app) {
if(import.meta.env.MODE === 'development') {
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
}
}
// to here
עכשיו עליכם לאתחל את App Check כך שיעבוד עם הספק שבחרתם – במקרה הזה, reCAPTCHA Enterprise. לאחר מכן, כדאי גם לרענן את האסימון של App Check באופן אוטומטי ברקע. כך תוכלו למנוע כל עיכוב באינטראקציה של המשתמש עם השירות במקרה שהאסימון של App Check לא בתוקף.
function setupAppCheck(app) {
if(import.meta.env.MODE === 'development') {
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
}
// add from here
// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
initializeAppCheck(app, {
provider: new ReCaptchaEnterpriseProvider(getReCaptchaKey()),
isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});
// to here
}
לבסוף, אחרי שמוודאים שהאפליקציה מופעלת, צריך להפעיל את הפונקציה setupAppCheck שיצרתם. בתחתית הקובץ hosting/src/index.js
, מוסיפים את הקריאה לשיטה שנוספה לאחרונה.
const firebaseApp = initializeApp(getFirebaseConfig());
// add from here
setupAppCheck(firebaseApp);
// to here
getPerformance();
initFirebaseAuth();
loadMessages();
קודם בודקים באופן מקומי
קודם כול, בודקים את האפליקציה באופן מקומי. אם האפליקציה עדיין לא מוצגת באופן מקומי, מריצים את הפקודה firebase serve
. האפליקציה עדיין לא אמורה להיטען באופן מקומי. הסיבה לכך היא שרשמתם את הדומיין של Firebase רק אצל ספק האימות של reCAPTCHA, ולא אצל הדומיין localhost. לעולם אל תירשמו את localhost כדומיין מאושר, כי זה מאפשר למשתמשים לגשת לקצוות העורפי המוגבלים שלכם מאפליקציה שפועלת באופן מקומי במחשב שלהם. במקום זאת, מכיוון שהגדרתם את self.FIREBASE_APPCHECK_DEBUG_TOKEN = true
, עליכם לבדוק בלוח JavaScript אם מופיע שורה שנראית בערך כך:
App Check debug token: 55183c20-de61-4438-85e6-8065789265be. You will need to add it to your app's App Check settings in the Firebase console for it to work.
צריך להעתיק את אסימון ניפוי הבאגים שסופק (במקרה לדוגמה, זהו 55183c20-de61-4438-85e6-8065789265be
) ולהדביק אותו בהגדרות של App Check שבתפריט הנפתח של האפליקציה.
נותנים לאסימון שם ייחודי שקל לזכור ולוחצים על שמירה. האפשרות הזו מאפשרת לכם להשתמש באפליקציה בטוקן שנוצר על ידי הלקוח. זוהי חלופה בטוחה יותר ליצירת טוקן לניפוי באגים והטמעתו באפליקציה. הטמעת אסימון באפליקציה עלולה לגרום להפצה שלו בטעות למשתמשים קצה, ומשתמשי הקצה האלה עלולים לנצל אותו כדי לעקוף את הבדיקות שלכם. אם רוצים להפיץ אסימון ניפוי באגים, למשל בסביבת CI, אפשר לעיין במסמך הזה כדי לקבל מידע נוסף על הפצת האסימון.
אחרי שמירת אסימון ניפוי הבאגים במסוף Firebase, אפשר להפעיל מחדש את האכיפה של App Check ולבדוק שתוכן האפליקציה נטען באופן מקומי. לשם כך, מריצים את הפקודה firebase serve
מהמסוף. הנתונים שהזנתם קודם אמורים להופיע בגרסה המקומית של אפליקציית האינטרנט. ההודעה עם אסימון ניפוי הבאגים עדיין אמורה להופיע במסוף.
לניסיון בסביבת הייצור
אחרי שתראו ש-App Check פועל באופן תקין במחשב, תוכלו לפרוס את אפליקציית האינטרנט בסביבת הייצור. שוב מפעילים את הפקודה firebase deploy
במסוף וטוענים מחדש את הדף. הפעולה הזו תארוז את אפליקציית האינטרנט שלכם כך שתוכל לפעול ב-Firebase Hosting. אחרי שהאפליקציה תתארח ב-Firebase Hosting, נסו להיכנס לאפליקציה בכתובת ${YOUR_PROJECT_ID}.web.app
. אפשר לפתוח את מסוף JavaScript. אסימון ניפוי הבאגים לא אמור להופיע יותר במסוף, וצ'אטים אמורים להיטען בפרויקט. בנוסף, אחרי שתעבדו עם האפליקציה במשך כמה רגעים, תוכלו להיכנס אל הקטע 'בדיקת אפליקציה' במסוף Firebase ולבדוק שכל הבקשות לאפליקציה עוברות אימות.
8. כל הכבוד!
מזל טוב, הוספת בהצלחה את Firebase App Check לאפליקציית אינטרנט!
אפשר להגדיר את מסוף Firebase כך שיטפל באסימון reCAPTCHA Enterprise בסביבות ייצור, ואפילו להגדיר אסימוני ניפוי באגים לפיתוח מקומי. כך האפליקציות שלכם עדיין יוכלו לגשת למשאבי Firebase מלקוחות שאושרו, ותימנע פעילות שמקורה בתרמית בתוך האפליקציה.
מה השלב הבא?
במאמרים הבאים מוסבר איך מוסיפים את Firebase App Check ל: