כדי לעזור לך לעזור למשתמשים שלך לשלוט בנתונים שלהם, צוות Firebase יצר ספרייה שמפשטת שני תהליכים נפוצים של נתוני משתמשים:
clearData
: מוחק נתונים של משתמש משירותי Firebase ספציפיים (כרגע מסד נתונים בזמן אמת, Firestore ואחסון) כאשר הוא מוחק את חשבונו באמצעות אימות Firebase.exportData
: שומר עותק של נתוני משתמש משירותי Firebase במחרוזת JSON, ומעלה אותו ל-Cloud Storage כדי שיוכלו להוריד אותו בקלות בעצמם.
המשך לקרוא כדי לגלות כיצד להוסיף את הפונקציות לאפליקציה שלך, או לקפוץ ישירות לקוד במאגר GitHub של פרטיות משתמש Firebase .
הוסף clearData
או exportData
לאפליקציה שלך
הפונקציות clearData
ו- exportData
בספרייה מיושמות כפונקציות ענן הפועלות על נתונים במסד נתונים בזמן אמת, ב-Cloud Storage וב-Cloud Firestore. הוספת הפונקציות באפליקציה משלך היא תהליך בן שלושה שלבים:
- ערוך את הקובץ
user_privacy.json
של הספרייה כך שישקף את סכימת מסד הנתונים בזמן אמת, Cloud Firestore ו-Cloud Storage של האפליקציה שלך. - פרוס
clearData
ו-exportData
כפונקציות ענן. - הטמע טריגרים עבור הפונקציות באפליקציה שלך.
- אבטח נתוני
clearData
עם כללי אחסון.
ערוך את הקובץ user_privacy.json
של הספרייה
כדי להתחיל, שכפל או הורד את מאגר פרטיות המשתמש של Firebase GitHub .
לאחר שעשית זאת, פתח functions/user_privacy.json
בעורך טקסט. לקובץ ה-json יש סדרה של נתיבים הניתנים להתאמה אישית שבהם משתמשות הפונקציות clearData
ו- exportData
כדי למצוא את נתוני האפליקציה שלך במסד נתונים בזמן אמת, ב-Cloud Firestore וב-Cloud Storage. אם האפליקציה שלך משתמשת רק באחד או שניים מהשירותים האלה, התחל על ידי מחיקת אובייקטי JSON המשויכים לשירותים שאינם בשימוש.
כשהאובייקטים נעלמו, אתה יכול להתחיל להחליף את ערכי מצייני המיקום הנותרים במבני הנתונים בפועל שהאפליקציה שלך משתמשת בהם.
הוסף נתיבים של מסד נתונים בזמן אמת לנתוני המשתמש
כדי להתאים אישית user_privacy.json
עבור מופע Realtime Database של האפליקציה שלך, החלף את רשימת המחרוזות של מצייני המיקום תחת "database"
בנתיבים בפועל לנתוני משתמש:
... "database": { "clear": [ "/users/UID_VARIABLE", // Replace with your "/admins/UID_VARIABLE" // actual RTDB paths ], "export": [ "/users/UID_VARIABLE", // Replace with your "/admins/UID_VARIABLE" // actual RTDB paths ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
הוסף אובייקטים של Cloud Firestore המכילים נתוני משתמש
כדי להתאים אישית user_privacy.json
עבור מופע Cloud Firestore של האפליקציה שלך, החלף את רשימת אובייקטי המיקום תחת "firestore"
באובייקטים ממשיים של Cloud Firestore המכילים נתוני משתמש:
... "firestore": { "clear": [ {"collection": "users", "doc": "UID_VARIABLE", "field": "name"}, {"collection": "users", "doc": "UID_VARIABLE"}, // Replace with your {"collection": "admins", "doc": "UID_VARIABLE"} // actual Firestore paths ], "export": [ {"collection": "users", "doc": "UID_VARIABLE", "field": "name"}, {"collection": "users", "doc": "UID_VARIABLE"}, // Replace with your {"collection": "admins", "doc": "UID_VARIABLE"} // actual Firestore paths ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
הוסף את דלי ה-Cloud Storage ואת שם הקובץ עם נתוני המשתמש
כדי להתאים אישית user_privacy.json
עבור מופע Cloud Storage של האפליקציה שלך, החלף את דלי האחסון ואת שם הקובץ תחת "storage"
בערכים בפועל:
... "storage": { "clear": [ // Replace with your actual storage data ["clear-export.appspot.com", "UID_VARIABLE/sample_data.json"], ["clear-exportappspot.com", "UID_VARIABLE"] ], "export": [ // Replace with your actual storage data ["clear-export.appspot.com", "UID_VARIABLE/sample_data.json"] ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
פרוס clearData
ו- exportData
כפונקציות ענן
אם אינך מכיר עדיין את פונקציות הענן, קרא כיצד להשתמש בהן במדריך תחילת העבודה של פונקציות ענן .
לאחר שתרגיש בנוח עם פונקציות ענן, הוסף את הפונקציות clearData
ו- exportData
לפרויקט שלך:
- העתק את
user_data.json
המותאם אישית שלך לספרייתfunctions
שלך. - העתק קוד
index.js
של ספריית פרטיות המשתמש ל-index.js
של הפרויקט שלך.- אם אינך משתמש
clearData
, השמט את הפונקציותclearData
,clearDatabaseData
,clearFirestoreData
ו-clearStorageData
. - אם אינך משתמש
exportData
, הסר את הפונקציותexportData
,exportDatabaseData
,exportFirestoreData
ו-exportStorageData
.
- אם אינך משתמש
- פרוס את הפונקציות שלך.
הטמע טריגרים עבור clearData
ו- exportData
כל פונקציה דורשת טריגר אחר:
-
clearData
: מופעל כאשר משתמש מוחק את חשבונו באמצעות אימות. -
exportData
: מופעל על ידי בקשת HTTP.
יישם טריגר clearData
כדי להפעיל אירוע clearData
, עליך להשתמש בשיטה מ-Authentication. אם עדיין לא עשית זאת, הוסף אימות לאפליקציה שלך: פלטפורמות אפל , אנדרואיד או אינטרנט .
לאחר מכן, הוסף דרך להפעיל את שיטת delete
של SDK של Authentication עבור הפלטפורמה שלך:
iOS+
FirebaseAuth.User.delete { error in
if let error = error {
print("Error deleting user: \(error)")
}
}
דְמוּי אָדָם
FirebaseAuth.getCurrentUser().delete();
אינטרנט
firebase.auth().currentUser.delete().catch(function(error) {
if (error.code === 'auth/requires-recent-login') {
window.alert('Please sign-in and try again.');
firebase.auth().signOut();
}
});
יישם טריגר של exportData
כדי ליישם טריגר exportData
, הוסף לחצן או קישור לאפליקציה שלך שמפעיל את הפונקציה באמצעות בקשת HTTP. קרא עוד על הפעלת פונקציות באמצעות HTTP בפונקציות Call באמצעות בקשות HTTP .
פרטי הבקשה:
- סוג:
POST
- כתובת אתר:
https://us-central1-<var>PROJECT-ID<.var>.cloudfunctions.net/exportData
- גוף:
<var>CURRENT_USER'S_UID</var>
הפעל את הפונקציה ישירות ב-Firebase Hosting
אם האפליקציה שלך היא אפליקציית אינטרנט המתארחת ב-Firebase Hosting, תוכל להפעיל את פונקציית clearData
שלך באמצעות ערך rewrite
בקובץ firebase.json
של האתר:
"hosting": {
"rewrites": [
{"source": "/exportData", "function": "exportData"}
]
}
נתוני exportData
נתונים מאובטחים עם כללי אחסון
כדי לשמור על פרטיות הנתונים המיוצאים של המשתמשים שלך, הוסף כללי Cloud Storage המגבילים את הגישה למשתמש המייצא.
- בקר באחסון במסוף Firebase .
- פתח את הכרטיסייה כללים .
- הדבק את הכלל הבא ולאחר מכן לחץ על פרסם :
service firebase.storage { match /b/{bucket}/o { match /exportData { // Only allow access to the user who requested the export match /{uid} { allow read, write: if request.auth.uid == uid } match /{uid}/{path=**} { allow read, write: if request.auth.uid == uid } } // Other application rules... } }
הוסף clearData
או exportData
לאפליקציה שלך
הפונקציות clearData
ו- exportData
בספרייה מיושמות כפונקציות ענן הפועלות על נתונים במסד נתונים בזמן אמת, ב-Cloud Storage וב-Cloud Firestore. הוספת הפונקציות באפליקציה משלך היא תהליך בן שלושה שלבים:
- ערוך את הקובץ
user_privacy.json
של הספרייה כך שישקף את סכימת מסד הנתונים בזמן אמת, Cloud Firestore ו-Cloud Storage של האפליקציה שלך. - פרוס
clearData
ו-exportData
כפונקציות ענן. - הטמע טריגרים עבור הפונקציות באפליקציה שלך.
- אבטח נתוני
clearData
עם כללי אחסון.
ערוך את הקובץ user_privacy.json
של הספרייה
כדי להתחיל, שכפל או הורד את מאגר פרטיות המשתמש של Firebase GitHub .
לאחר שעשית זאת, פתח functions/user_privacy.json
בעורך טקסט. לקובץ ה-json יש סדרה של נתיבים הניתנים להתאמה אישית שבהם משתמשות הפונקציות clearData
ו- exportData
כדי למצוא את נתוני האפליקציה שלך במסד נתונים בזמן אמת, ב-Cloud Firestore וב-Cloud Storage. אם האפליקציה שלך משתמשת רק באחד או שניים מהשירותים האלה, התחל על ידי מחיקת אובייקטי JSON המשויכים לשירותים שאינם בשימוש.
כשהאובייקטים נעלמו, אתה יכול להתחיל להחליף את ערכי מצייני המיקום הנותרים במבני הנתונים בפועל שהאפליקציה שלך משתמשת בהם.
הוסף נתיבים של מסד נתונים בזמן אמת לנתוני המשתמש
כדי להתאים אישית user_privacy.json
עבור מופע Realtime Database של האפליקציה שלך, החלף את רשימת המחרוזות של מצייני המיקום תחת "database"
בנתיבים בפועל לנתוני משתמש:
... "database": { "clear": [ "/users/UID_VARIABLE", // Replace with your "/admins/UID_VARIABLE" // actual RTDB paths ], "export": [ "/users/UID_VARIABLE", // Replace with your "/admins/UID_VARIABLE" // actual RTDB paths ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
הוסף אובייקטים של Cloud Firestore המכילים נתוני משתמש
כדי להתאים אישית user_privacy.json
עבור מופע Cloud Firestore של האפליקציה שלך, החלף את רשימת אובייקטי המיקום תחת "firestore"
באובייקטים ממשיים של Cloud Firestore המכילים נתוני משתמש:
... "firestore": { "clear": [ {"collection": "users", "doc": "UID_VARIABLE", "field": "name"}, {"collection": "users", "doc": "UID_VARIABLE"}, // Replace with your {"collection": "admins", "doc": "UID_VARIABLE"} // actual Firestore paths ], "export": [ {"collection": "users", "doc": "UID_VARIABLE", "field": "name"}, {"collection": "users", "doc": "UID_VARIABLE"}, // Replace with your {"collection": "admins", "doc": "UID_VARIABLE"} // actual Firestore paths ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
הוסף את דלי ה-Cloud Storage ואת שם הקובץ עם נתוני המשתמש
כדי להתאים אישית user_privacy.json
עבור מופע Cloud Storage של האפליקציה שלך, החלף את דלי האחסון ואת שם הקובץ תחת "storage"
בערכים בפועל:
... "storage": { "clear": [ // Replace with your actual storage data ["clear-export.appspot.com", "UID_VARIABLE/sample_data.json"], ["clear-exportappspot.com", "UID_VARIABLE"] ], "export": [ // Replace with your actual storage data ["clear-export.appspot.com", "UID_VARIABLE/sample_data.json"] ] }, ...
אם ברצונך להוסיף רק אחת מהפונקציות לאפליקציה שלך, תוכל למחוק את האובייקט של הפונקציה השנייה, במקום למלא אותו בנתונים שלך.
פרוס clearData
ו- exportData
כפונקציות ענן
אם אינך מכיר עדיין את פונקציות הענן, קרא כיצד להשתמש בהן במדריך תחילת העבודה של פונקציות ענן .
לאחר שתרגיש בנוח עם פונקציות ענן, הוסף את הפונקציות clearData
ו- exportData
לפרויקט שלך:
- העתק את
user_data.json
המותאם אישית שלך לספרייתfunctions
שלך. - העתק קוד
index.js
של ספריית פרטיות המשתמש ל-index.js
של הפרויקט שלך.- אם אינך משתמש
clearData
, השמט את הפונקציותclearData
,clearDatabaseData
,clearFirestoreData
ו-clearStorageData
. - אם אינך משתמש
exportData
, הסר את הפונקציותexportData
,exportDatabaseData
,exportFirestoreData
ו-exportStorageData
.
- אם אינך משתמש
- פרוס את הפונקציות שלך.
הטמע טריגרים עבור clearData
ו- exportData
כל פונקציה דורשת טריגר אחר:
-
clearData
: מופעל כאשר משתמש מוחק את חשבונו באמצעות אימות. -
exportData
: מופעל על ידי בקשת HTTP.
יישם טריגר clearData
כדי להפעיל אירוע clearData
, עליך להשתמש בשיטה מ-Authentication. אם עדיין לא עשית זאת, הוסף אימות לאפליקציה שלך: פלטפורמות אפל , אנדרואיד או אינטרנט .
לאחר מכן, הוסף דרך להפעיל את שיטת delete
של SDK של Authentication עבור הפלטפורמה שלך:
iOS+
FirebaseAuth.User.delete { error in
if let error = error {
print("Error deleting user: \(error)")
}
}
דְמוּי אָדָם
FirebaseAuth.getCurrentUser().delete();
אינטרנט
firebase.auth().currentUser.delete().catch(function(error) {
if (error.code === 'auth/requires-recent-login') {
window.alert('Please sign-in and try again.');
firebase.auth().signOut();
}
});
יישם טריגר של exportData
כדי ליישם טריגר exportData
, הוסף לחצן או קישור לאפליקציה שלך שמפעיל את הפונקציה באמצעות בקשת HTTP. קרא עוד על הפעלת פונקציות באמצעות HTTP בפונקציות Call באמצעות בקשות HTTP .
פרטי הבקשה:
- סוג:
POST
- כתובת אתר:
https://us-central1-<var>PROJECT-ID<.var>.cloudfunctions.net/exportData
- גוף:
<var>CURRENT_USER'S_UID</var>
הפעל את הפונקציה ישירות ב-Firebase Hosting
אם האפליקציה שלך היא אפליקציית אינטרנט המתארחת ב-Firebase Hosting, תוכל להפעיל את פונקציית clearData
שלך באמצעות ערך rewrite
בקובץ firebase.json
של האתר:
"hosting": {
"rewrites": [
{"source": "/exportData", "function": "exportData"}
]
}
נתוני exportData
נתונים מאובטחים עם כללי אחסון
כדי לשמור על פרטיות הנתונים המיוצאים של המשתמשים שלך, הוסף כללי Cloud Storage המגבילים את הגישה למשתמש המייצא.
- בקר באחסון במסוף Firebase .
- פתח את הכרטיסייה כללים .
- הדבק את הכלל הבא ולאחר מכן לחץ על פרסם :
service firebase.storage { match /b/{bucket}/o { match /exportData { // Only allow access to the user who requested the export match /{uid} { allow read, write: if request.auth.uid == uid } match /{uid}/{path=**} { allow read, write: if request.auth.uid == uid } } // Other application rules... } }