āĻāĻĒāύāĻžāϰ Firebase āϏāĻŽā§āĻĒāĻĻ āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻĄā§āĻāĻž āϏā§āϰāĻā§āώāĻŋāϤ āϰāĻžāĻāϤā§, āĻāĻ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻž āĻ āύā§āϏāϰāĻŖ āĻāϰā§āύāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻāĻā§āĻŽ āĻ āĻāϤā§āϝāĻž āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝā§āĻā§āϝ āĻšāĻŦā§ āύāĻž, āϤāĻŦā§ āĻāĻĒāύāĻŋ āϝāĻāύ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒāĻāĻŋ āĻŦāĻŋāĻāĻžāĻļ āĻāϰāĻŦā§āύ āϤāĻāύ āϏā§āĻā§āϞāĻŋ āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύāĨ¤
āĻāĻĒāϤā§āϤāĻŋāĻāύāĻ āĻā§āϰāĻžāĻĢāĻŋāĻ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āĻāϞā§āύ
āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāĻŦāĻ āϏāϤāϰā§āĻāϤāĻž āϏā§āĻ āĻāĻĒ āĻāϰā§āύ⧎
āĻāĻĒāϤā§āϤāĻŋāĻāύāĻ āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻ āϏāύāĻžāĻā§āϤ āĻāϰāϤā§, āϝā§āĻŽāύ āĻĄāĻŋāύāĻžāϝāĻŧāĻžāϞ-āĻ āĻĢ-āϏāĻžāϰā§āĻāĻŋāϏ (āĻĄāϏ) āĻāĻā§āϰāĻŽāĻŖ, Cloud Firestore , Realtime Database , Cloud Storage āĻāĻŦāĻ Hosting āĻāύā§āϝ āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻāĻŦāĻ āϏāϤāϰā§āĻāϤāĻž āϏā§āĻ āĻāĻĒ āĻāϰā§āύ
āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāĻžāύ⧠āĻāĻā§āϰāĻŽāĻŖā§āϰ āϏāύā§āĻĻā§āĻš āĻšāϞā§, āĻā§ āĻāĻāĻā§ āϤāĻž āϤāĻžāĻĻā§āϰ āĻāĻžāύāĻžāϤ⧠āϝāϤ āϤāĻžāĻĄāĻŧāĻžāϤāĻžāĻĄāĻŧāĻŋ āϏāĻŽā§āĻāĻŦ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āϏāĻžāĻĨā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰā§āύ āĨ¤
App Check āϏāĻā§āώāĻŽ āĻāϰā§āύ
āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒāĻā§āϞāĻŋāĻ āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤā§, āĻāĻāĻŋ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āĻāĻŽāύ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻāύā§āϝ Firebase App Check āϏāĻā§āώāĻŽ āĻāϰā§āύ⧎
āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϰ āĻāύā§āϝ āϏā§āĻā§āϞ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ Cloud Functions āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰā§āύ
Cloud Functions āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϰ āĻāĻžāĻšāĻŋāĻĻāĻž āĻŽā§āĻāĻžāϤ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āϏā§āĻā§āϞ āĻāϰā§, āĻāĻŋāύā§āϤ⧠āĻāĻā§āϰāĻŽāĻŖā§āϰ āĻā§āώā§āϤā§āϰā§, āĻāϰ āĻ āϰā§āĻĨ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻŦāĻŋāϞ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϰ āĻāύā§āϝ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύā§āϰ āϏāĻŽāĻŦāϰā§āϤ⧠āĻĻā§āώā§āĻāĻžāύā§āϤā§āϰ āϏāĻāĻā§āϝāĻž āϏā§āĻŽāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϏā§āĻŽāĻž āĻĒā§āϰāĻžāϝāĻŧ āĻĒā§āĻāĻā§ āĻā§āϞ⧠āĻ āĻŦāĻšāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāϤāϰā§āĻāϤāĻž āϏā§āĻ āĻāĻĒ āĻāϰā§āύ⧎
āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĒāϰāĻŋāώā§āĻŦāĻžāϤ⧠āĻ āύā§āϰā§āϧā§āϰ āϏā§āĻĒāĻžāĻāĻ āĻĨāĻžāĻā§, āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻā§āĻāĻž āĻĒā§āϰāĻŦā§āĻļ āĻāϰāĻŦā§ āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ⧠āĻā§āϰā§āϝāĻžāĻĢāĻŋāĻ āĻĨā§āϰā§āĻāϞ āĻāϰāĻŦā§āĨ¤ āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻ āĻŦāĻŋāϞāĻŋāĻ āĻĄā§āϝāĻžāĻļāĻŦā§āϰā§āĻĄ āύāĻŋāϰā§āĻā§āώāĻŖ āĻāϰāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ, āĻāĻŋāύā§āϤ⧠āϏāĻŽā§āĻĒāĻĻā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻž āĻāĻžāĻĄāĻŧāĻŋāϝāĻŧā§ āĻā§āϞ⧠āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋ āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻŦāĻžāĻā§āĻ āϏāϤāϰā§āĻāϤāĻžāĻ āϏā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϏā§āĻŦ-āĻĄāϏ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰā§āύ: āĻāĻŽā§āϞā§āĻāϰāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϏā§āĻĨāĻžāύā§āϝāĻŧāĻāĻžāĻŦā§ āĻĢāĻžāĻāĻļāύ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύ
Cloud Functions āĻŦāĻŋāĻāĻžāĻļ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĻā§āϰā§āĻāĻāύāĻžāĻā§āϰāĻŽā§ āύāĻŋāĻā§āĻ DOS āĻāϰāĻž āϏāĻšāĻ āĻšāϤ⧠āĻĒāĻžāϰā§: āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻāĻŋ āĻ āϏā§āĻŽ āĻā§āϰāĻŋāĻāĻžāϰ-āϰāĻžāĻāĻ āϞā§āĻĒ āϤā§āϰāĻŋ āĻāϰā§ā§ˇ āĻāĻĒāύāĻŋ Firebase Local Emulator Suite āĻĻāĻŋāϝāĻŧā§ āĻāĻĒāύāĻžāϰ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ āĻāϰ⧠āϞāĻžāĻāĻ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰāĻž āĻĨā§āĻā§ āĻāĻ āĻā§āϞāĻā§āϞāĻŋ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻā§āϞāĻŦāĻļāϤ āύāĻŋāĻā§ DOS āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠index.js
āĻĨā§āĻā§ āĻāĻĒāύāĻžāϰ āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻŽā§āĻā§ āĻĢā§āϞ⧠āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ āĻāĻžāϞ⧠āĻāϰ⧠āĻāύāĻĄāĻŋāĻĒā§āϞā§āϝāĻŧ āĻāϰā§āύfirebase deploy --only functions
āĨ¤
āϝā§āĻāĻžāύ⧠āϰāĻŋāϝāĻŧā§āϞ-āĻāĻžāĻāĻŽ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĻļā§āϞāϤāĻž āĻāĻŽ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ, āĻāĻžāĻ āĻžāĻŽā§āĻāĻŋ āϰāĻā§āώāĻŖāĻžāϤā§āĻŽāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§
API āĻā§ āĻŦā§āĻā§āύ
āĻĢāĻžāϝāĻŧāĻžāϰāĻŦā§āϏ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ API āĻā§āĻā§āϞāĻŋ āĻā§āĻĒāύ āύāϝāĻŧ⧎
API āĻā§ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āϏā§āĻ āĻāĻĒ āĻāϰā§āύ
FCM āϏāĻžāϰā§āĻāĻžāϰ āĻā§ āĻā§āĻĒāύ āϰāĻžāĻā§āύ
āĻĒāϰāĻŋāώā§āĻŦāĻž āĻ
ā§āϝāĻžāĻāĻžāĻāύā§āĻ āĻā§āĻā§āϞāĻŋ āĻā§āĻĒāύ āϰāĻžāĻā§āύ
Firebase Security Rules
āĻā§āĻĒāĻžāĻĻāύ āĻŦāĻž āϞāĻ āĻŽā§āĻĄā§ āύāĻŋāϝāĻŧāĻŽ āĻļā§āϰ⧠āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻāύ Cloud Firestore , Realtime Database , āĻāĻŦāĻ Cloud Storage āϏā§āĻ āĻāĻĒ āĻāϰā§āύ, āϤāĻāύ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻŽāϏā§āϤ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻ āϏā§āĻŦā§āĻāĻžāϰ āĻāϰāϤ⧠āĻāĻĒāύāĻžāϰ Firebase Security Rules āĻļā§āϰ⧠āĻāϰā§āύ āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒ āĻŦāĻŋāĻāĻžāĻļā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻāϏā§āĻĨāĻžāύāĻā§āϞāĻŋāϤ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻŽāĻā§āĻā§āϰ āĻāϰ⧠āĻāĻŽāύ āύāĻŋāϝāĻŧāĻŽāĻā§āϞāĻŋ āϝā§āĻā§āϤ āĻāϰā§āύ⧎
Cloud Firestore (āĻā§āĻĒāĻžāĻĻāύ āĻŽā§āĻĄ) āĻāĻŦāĻ Realtime Database (āϞāĻ āĻāϰāĻž āĻŽā§āĻĄ) āĻāϰ āύāϤā§āύ āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻ āϏā§āĻāĻŋāĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ⧎ Cloud Storage āĻāύā§āϝ, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤāĻā§āϞāĻŋāϰ āĻŽāϤ⧠āĻāĻāĻāĻŋ āϏā§āϰāĻā§āώāĻž āύāĻŋāϝāĻŧāĻŽ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻāϰā§āύ:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if false;
}
}
}
āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āύāĻŋāϝāĻŧāĻŽ āĻāĻāĻāĻŋ āϏā§āĻāĻŋāĻŽāĻž; āĻāĻĒāύāĻŋ āύāĻĨāĻŋ āϝā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāϝāĻŧāĻŽ āϝā§āĻ āĻāϰā§āύ
āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒāĻāĻŋ āϞā§āĻāĻžāϰ āĻĒāϰ⧠āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āύāĻŋāϝāĻŧāĻŽ āϞāĻŋāĻāĻŦā§āύ āύāĻž, āĻāĻ āϧāϰāύā§āϰ āĻĒā§āϰāĻŋ-āϞāĻā§āĻ āĻāĻžāϏā§āĻ āĻšāĻŋāϏā§āĻŦā§āĨ¤ āĻĒāϰāĻŋāĻŦāϰā§āϤā§, āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒ āϞā§āĻāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āĻŦāĻŋāϧāĻŋ āϞāĻŋāĻā§āύ, āϏā§āĻā§āϞāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āϏ āϏā§āĻāĻŋāĻŽāĻžāϰ āĻŽāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ: āϝāĻāύāĻ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āύāϤā§āύ āύāĻĨāĻŋāϰ āĻĒā§āϰāĻāĻžāϰ āĻŦāĻž āĻĒāĻžāĻĨ āĻāĻžāĻ āĻžāĻŽā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āĻĒā§āϰāĻĨāĻŽā§ āĻāĻāĻŋāϰ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āύāĻŋāϝāĻŧāĻŽ āϞāĻŋāĻā§āύ⧎
Local Emulator Suite āϏāĻžāĻĨā§ āĻāĻāύāĻŋāĻ āĻĒāϰā§āĻā§āώāĻž āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āύāĻŋāϝāĻŧāĻŽ; āĻāĻāĻŋ CI āĻ āϝā§āĻ āĻāϰā§āύ
āĻāĻĒāύāĻžāϰ āϏā§āϰāĻā§āώāĻž āύāĻŋāϝāĻŧāĻŽāĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϰ āĻŦāĻŋāĻāĻžāĻļā§āϰ āϏāĻžāĻĨā§ āϤāĻžāϞ āĻŽāĻŋāϞāĻŋāϝāĻŧā§ āĻāϞāĻā§ āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤā§, āĻāĻāύāĻŋāĻ Firebase Local Emulator Suite āϏāĻžāĻĨā§ āĻāĻĒāύāĻžāϰ āύāĻŋāϝāĻŧāĻŽāĻā§āϞāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύ āĻāĻŦāĻ āĻāĻ āĻĒāϰā§āĻā§āώāĻžāĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ CI āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ⧠āϝā§āĻā§āϤ āĻāϰā§āύ⧎ Cloud Firestore āĻāĻŦāĻ Realtime Database āĻāύā§āϝ āĻāĻ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻžāĻā§āϞāĻŋ āĻĻā§āĻā§āύāĨ¤
āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ
āĻāĻžāϏā§āĻāĻŽ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ: āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāϏā§āϤ (āϏāĻžāϰā§āĻāĻžāϰ-āϏāĻžāĻāĻĄ) āĻĒāϰāĻŋāĻŦā§āĻļ āĻĨā§āĻā§ āĻŽāĻŋāύā§āĻ JWTs
āĻāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻāĻāĻŋ āϏā§āϰāĻā§āώāĻŋāϤ āϏāĻžāĻāύ-āĻāύ āϏāĻŋāϏā§āĻā§āĻŽ āĻĨāĻžāĻā§, āĻāĻāĻāĻŋ āĻāĻžāϏā§āĻāĻŽ āϏāĻŋāϏā§āĻā§āĻŽ āĻšā§āĻ āĻŦāĻž āϤā§āϤā§āϝāĻŧ āĻĒāĻā§āώā§āϰ āĻĒāϰāĻŋāώā§āĻŦāĻž, āĻāĻĒāύāĻŋ Firebase āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ⧎ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāϏā§āϤ āĻĒāϰāĻŋāĻŦā§āĻļ āĻĨā§āĻā§ āĻāĻžāϏā§āĻāĻŽ JWT āϤā§āϰāĻŋ āĻāϰā§āύ , āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻā§āϰ āĻāĻžāĻā§ āĻā§āĻā§āύāĻā§āϞāĻŋ āĻĒā§āϰā§āϰāĻŖ āĻāϰā§āύ, āϝāĻž āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻā§āĻā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠( iOS+ , Android , Web , Unity , C++ )āĨ¤
āϤā§āϤā§āϝāĻŧ āĻĒāĻā§āώā§āϰ āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāĻžāϏā§āĻāĻŽ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻāύā§āϝ, āĻŦā§āϞāĻ āĻĒā§āϏā§āĻ āĻĻā§āĻā§āύ, Okta āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠Firebase āĻāϰ āϏāĻžāĻĨā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻāϰā§āύ āĨ¤
āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ: OAuth 2.0 āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰā§āϰāĻž āϏāĻŦāĻā§āϝāĻŧā§ āύāĻŋāϰāĻžāĻĒāĻĻ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Firebase-āĻāϰ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, OAuth 2.0 / OpenID Connect āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰ⧠āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ (Google, Facebook, āĻāϤā§āϝāĻžāĻĻāĻŋ) āϏāĻŦāĻā§āϝāĻŧā§ āϏā§āϰāĻā§āώāĻŋāϤ⧎ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻĒāĻžāϰā§āύ (āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻŦā§āϏā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§) āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāĻā§ āĻāĻ āϏāϰāĻŦāϰāĻžāĻšāĻāĻžāϰā§āĻĻā§āϰ āĻāĻ āĻŦāĻž āĻāĻāĻžāϧāĻŋāĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻž āĻāĻāĻŋāϤāĨ¤
āĻāĻŽā§āϞ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ: āύā§āĻļāĻāϏ āĻŦāϞ āĻāĻā§āϰāĻŽāĻŖ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāϤ⧠āϏāĻžāĻāύ-āĻāύ āĻāύā§āĻĄāĻĒāϝāĻŧā§āύā§āĻā§āϰ āĻāύā§āϝ āĻļāĻā§āϤ āĻā§āĻāĻž āϏā§āĻ āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Firebase-āĻāϰ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāĻŽā§āϞ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āύā§āĻļāĻāϏ āĻŦāϞ āĻāĻā§āϰāĻŽāĻŖ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāϤ⧠identitytoolkit.googleapis.com
āĻāύā§āĻĄāĻĒāϝāĻŧā§āύā§āĻā§āϰ āĻĄāĻŋāĻĢāϞā§āĻ āĻā§āĻāĻž āĻļāĻā§āϤ āĻāϰā§āύāĨ¤ āĻāĻĒāύāĻŋ Google Cloud āĻāύāϏā§āϞ⧠āĻāĻāĻĄā§āύā§āĻāĻŋāĻāĻŋ āĻā§āϞāĻāĻŋāĻ API āĻĒā§āώā§āĻ āĻž āĻĨā§āĻā§ āĻāĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻŽā§āϞ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ: āĻāĻŽā§āϞ āĻāĻŖāύāĻž āϏā§āϰāĻā§āώāĻž āϏāĻā§āώāĻŽ āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Firebase-āĻāϰ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāĻŽā§āϞ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻŽā§āϞ āĻāĻŖāύāĻž āϏā§āϰāĻā§āώāĻž āϏāĻā§āώāĻŽ āĻāϰā§āύ , āϝāĻž āĻā§āώāϤāĻŋāĻāĻžāϰāĻ āĻ āĻāĻŋāύā§āϤāĻžāĻĻā§āϰ āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āύāĻžāĻŽ āĻ āύā§āĻŽāĻžāύ āĻāϰāϤ⧠āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻļā§āώ āĻĒāϝāĻŧā§āύā§āĻāĻā§āϞāĻŋ āĻ āĻĒāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻŦāĻžāϧāĻž āĻĻā§āϝāĻŧ⧎
āĻŽāĻžāϞā§āĻāĻŋ-āĻĢā§āϝāĻžāĻā§āĻāϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ Google Cloud Identity Platform āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰā§āύ
āϏāĻžāĻāύ-āĻāύ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻžāϰ āĻāύā§āϝ, āĻāĻĒāύāĻŋ Google Cloud Identity Platform āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰ⧠āĻŽāĻžāϞā§āĻāĻŋ-āĻĢā§āϝāĻžāĻā§āĻāϰ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻĒāύāĻŋ āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻāĻĒāύāĻžāϰ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ Firebase Authentication āĻā§āĻĄ āĻāĻžāĻ āĻāϰāϤ⧠āĻĨāĻžāĻāĻŦā§āĨ¤
āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ
āĻāώā§āĻŖ āĻ āύāĻŦā§āϰā§āĻĄāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰāĻž āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώ⧠āϏāĻžāĻāύ āĻāύ āĻāϰāĻžāϰ āĻāĻā§ āϤāĻžāĻĻā§āϰ āĻāύā§āϝ āĻŽā§āϞāĻŋāĻ āĻ āĻŦāϏā§āĻĨāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ⧎ āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āϏāĻžāĻāύ-āĻāύ āĻāϰ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āύāϝāĻŧ⧎
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰāĻž āĻ āύā§āϝ āĻĄāĻŋāĻāĻžāĻāϏ⧠āϤāĻžāĻĻā§āϰ āĻĄā§āĻāĻž āĻāĻžāĻāϞ⧠āĻ āύā§āϝ āϏāĻžāĻāύ-āĻāύ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰā§āύ
āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϏā§āĻĨāĻžāύā§āϝāĻŧ āϏā§āĻā§āϰā§āĻ āϏāĻžāĻĢ āĻāϰ⧠āĻŦāĻž āĻĄāĻŋāĻāĻžāĻāϏāĻā§āϞāĻŋ āϏā§āϝā§āĻāĻ āĻāϰ⧠āϤāĻŦā§ āĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖ āĻĄā§āĻāĻž āĻŦāĻāĻžāϝāĻŧ āĻĨāĻžāĻāĻŦā§ āύāĻž āĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻĄāĻŋāĻāĻžāĻāϏ⧠āĻ ā§āϝāĻžāĻĒ āϰāĻŋāϏā§āĻāĻžāϰā§āĻā§āϰ āĻŦāĻžāĻāϰā§āĻ āĻĄā§āĻāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻāĻžāύ, āϤāĻžāĻšāϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āĻāĻāĻāĻŋ āϏā§āĻĨāĻžāϝāĻŧā§ āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§ āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰā§āύ āĨ¤
āϏā§āϰāĻā§āώāĻž āύāĻŋāϝāĻŧāĻŽāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āϝāĻžāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āϏāĻžāĻāύ āĻāύ āĻĒā§āϰāĻĻāĻžāύāĻāĻžāϰā§āϤ⧠āϰā§āĻĒāĻžāύā§āϤāϰāĻŋāϤ āĻāϰāĻž āĻŦāĻž āϤāĻžāĻĻā§āϰ āĻāĻŽā§āϞ āϝāĻžāĻāĻžāĻ āĻāϰāĻž āĻĒā§āϰāϝāĻŧā§āĻāύ⧎
āϝ⧠āĻā§āĻ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻāĻāĻāĻŋ āĻŦā§āύāĻžāĻŽā§ āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻŽāĻžāĻĨāĻžāϝāĻŧ āϰā§āĻā§, āϏāĻŽāϏā§āϤ āĻ -āĻĒāĻžāĻŦāϞāĻŋāĻ āĻĄā§āĻāĻž āϏā§āϰāĻā§āώāĻž āύāĻŋāϝāĻŧāĻŽāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϏā§āϰāĻā§āώāĻŋāϤ āĻāϰā§āύ āϝā§āĻā§āϞāĻŋāϰ āĻāύā§āϝ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻžāĻāύ-āĻāύ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦāĻž āϝāĻžāĻāĻžāĻ āĻāϰāĻž āĻāĻŽā§āϞ āĻ āĻŋāĻāĻžāύāĻžāĻā§āϞāĻŋāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ ⧎
āϝā§āĻŽāύ:
allow write: if request.auth.token.firebase.sign_in_provider != "anonymous";
allow write: if request.auth.token.email_verified = true;
Cloud Functions āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž
āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ⧠āĻāĻāύāĻ āϏāĻāĻŦā§āĻĻāύāĻļā§āϞ āϤāĻĨā§āϝ āϰāĻžāĻāĻŦā§āύ āύāĻž
āĻĒā§āϰāĻžāϝāĻŧāĻ āĻāĻāĻāĻŋ āϏā§āĻŦ-āĻšā§āϏā§āĻ āĻāϰāĻž Node.js āĻ ā§āϝāĻžāĻĒā§, āĻāĻĒāύāĻŋ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻā§āĻā§āϞāĻŋāϰ āĻŽāϤ⧠āϏāĻāĻŦā§āĻĻāύāĻļā§āϞ āϤāĻĨā§āϝ āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāϰāĻŋāĻŦā§āĻļā§āϰ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ Cloud Functions āĻāĻāĻŋ āĻāϰāĻŦā§āύ āύāĻž āĨ¤ āϝā§āĻšā§āϤ⧠Cloud Functions āĻĢāĻžāĻāĻļāύ āĻāĻšā§āĻŦāĻžāύā§āϰ āĻŽāϧā§āϝ⧠āĻĒāϰāĻŋāĻŦā§āĻļāĻā§āϞāĻŋāĻā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϤāĻžāĻ āϏāĻāĻŦā§āĻĻāύāĻļā§āϞ āϤāĻĨā§āϝ āĻĒāϰāĻŋāĻŦā§āĻļā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻāĻāĻŋāϤ āύāϝāĻŧ⧎
Firebase API āĻā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠(āϝāĻž āĻā§āĻĒāύ āύāϝāĻŧ ), āĻļā§āϧ⧠āĻā§āĻĄā§ āĻāĻŽā§āĻŦā§āĻĄ āĻāϰā§āύāĨ¤
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Cloud Functions Firebase Admin SDK āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāĻā§ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž, āĻāĻžāϰāĻŖ Admin SDK āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻļā§āϰ⧠āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϏā§āĻā§āϞāĻŋ āĻ āϰā§āĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§ā§ˇ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Google āĻāĻŦāĻ Google Cloud API-āĻā§ āĻāϞ āĻāϰā§āύ āϝā§āĻā§āϞāĻŋāϰ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āĻļāĻāϏāĻžāĻĒāϤā§āϰā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠Node.js-āĻāϰ āĻāύā§āϝ Google Auth āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āĻĄāĻŋāĻĢāϞā§āĻ āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āĻĨā§āĻā§ āĻāĻ āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āĻĒā§āϤ⧠āĻĒāĻžāϰā§, āϝāĻž Cloud Functions āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻŽāĻž āĻšāϝāĻŧ⧎
āĻāĻĒāύāĻžāϰ Cloud Functions āĻ -Google āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻā§ āĻāĻŦāĻ āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āĻāĻĒāϞāĻŦā§āϧ āĻāϰāϤā§, Secret Manager āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ⧎
āϏāĻāĻŦā§āĻĻāύāĻļā§āϞ āϤāĻĨā§āϝ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĢāĻžāĻāĻļāύ⧠āϏāĻāĻŦā§āĻĻāύāĻļā§āϞ āϤāĻĨā§āϝ āĻĒāĻžāϏ āĻāϰāĻž āĻāĻĄāĻŧāĻžāϤ⧠āύāĻž āĻĒāĻžāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāĻā§ āĻ āĻŦāĻļā§āϝāĻ āϤāĻĨā§āϝ āĻāύāĻā§āϰāĻŋāĻĒā§āĻ āĻāϰāϤ⧠āĻāĻĒāύāĻžāϰ āύāĻŋāĻāϏā§āĻŦ āĻāĻžāϏā§āĻāĻŽ āϏāĻŽāĻžāϧāĻžāύ āύāĻŋāϝāĻŧā§ āĻāϏāϤ⧠āĻšāĻŦā§āĨ¤
āϏāĻšāĻ āĻĢāĻžāĻāĻļāύ āύāĻŋāϰāĻžāĻĒāĻĻ; āĻāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻāĻāĻŋāϞāϤāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ, Cloud Run āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰā§āύ
āĻāĻĒāύāĻžāϰ āĻĢāĻžāĻāĻļāύāĻā§āϞāĻŋāĻā§ āϝāϤāĻāĻž āϏāĻŽā§āĻāĻŦ āĻŽā§āϞāĻŋāĻ āĻāĻŦāĻ āĻŦā§āϧāĻāĻŽā§āϝ āϰāĻžāĻāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύāĨ¤ āĻāĻĒāύāĻžāϰ āĻĢāĻžāĻāĻļāύ⧠āĻāĻāĻŋāϞāϤāĻž āĻĒā§āϰāĻžāϝāĻŧāĻ āĻšāĻžāϰā§āĻĄ-āĻā§-āϏā§āĻĒāĻ āĻŦāĻžāĻ āĻŦāĻž āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻāĻāϰāĻŖā§āϰ āĻĻāĻŋāĻā§ āύāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻāĻāĻŋāϞ āϝā§āĻā§āϤāĻŋ āĻŦāĻž āĻĒāϰāĻŋāĻŦā§āĻļ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧ, Cloud Functions āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠Cloud Run āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāĻĨāĻž āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰā§āύāĨ¤
āĻĒāϰāĻŋāĻŦā§āĻļ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž
āĻāύā§āύāϝāĻŧāύ āĻāĻŦāĻ āĻŽāĻā§āĻāĻžāϝāĻŧāύ āĻĒā§āϰāĻāϞā§āĻĒ āϏā§āĻ āĻāĻĒ āĻāϰā§āύ
āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ, āϏā§āĻā§āĻāĻŋāĻ āĻāĻŦāĻ āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύā§āϰ āĻāύā§āϝ āĻāϞāĻžāĻĻāĻž āĻĢāĻžāϝāĻŧāĻžāϰāĻŦā§āϏ āĻĒā§āϰā§āĻā§āĻā§āĻ āϏā§āĻ āĻāĻĒ āĻāϰā§āύāĨ¤ āϏā§āĻā§āĻāĻŋāĻ āĻĒā§āϰāĻā§āĻā§āĻā§āϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠āĻĒāϰā§āĻā§āώāĻž āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻā§āĻĄāĻā§ āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ⧠āĻŽāĻžāϰā§āĻ āĻāϰāĻŦā§āύ āύāĻžāĨ¤
āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ āĻĄā§āĻāĻžāϤ⧠āĻāĻŋāĻŽā§āϰ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āϏā§āĻŽāĻŋāϤ āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻšāϤā§āϤāϰ āĻĻāϞā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ āĻĒā§āϰā§āĻŦāύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ IAM āĻā§āĻŽāĻŋāĻāĻž āĻŦāĻž āĻāĻžāϏā§āĻāĻŽ IAM āĻā§āĻŽāĻŋāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāϤā§āĻĒāĻžāĻĻāύ āĻĄā§āĻāĻžāϤ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āϏā§āĻŽāĻŋāϤ āĻāϰ⧠āĻā§āϞ āĻāĻŦāĻ āϞāĻā§āĻāύā§āϰ āĻĒāϰāĻŋāĻŖāϤāĻŋāĻā§āϞāĻŋ āĻšā§āϰāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ⧎
āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻŋāĻŽ Firebase Local Emulator Suite (āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ) āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ āĻĒā§āϰā§āĻā§āĻā§āĻā§ āĻŦā§āĻšāϤā§āϤāϰ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻĻā§āĻāϝāĻŧāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻā§āϰāύā§āĻĨāĻžāĻāĻžāϰ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž
āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻā§āϞ āĻŦāĻžāύāĻžāύ āĻŦāĻž āύāϤā§āύ āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖāĻāĻžāϰā§āĻĻā§āϰ āĻāύā§āϝ āϏāϤāϰā§āĻ āĻĨāĻžāĻā§āύ
āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻā§āĻā§āĻā§ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āύāĻžāĻŽ āĻāĻŦāĻ āĻāϰ āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāϤāĻŋ āĻāĻā§āϰ āĻŽāύā§āϝā§āĻ āĻĻāĻŋāύāĨ¤ āĻāĻĒāύāĻŋ āϝā§āĻāĻŋ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻžāϰ āĻ āύā§āϰā§āĻĒ-āύāĻžāĻŽāϝā§āĻā§āϤ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϤ⧠āĻā§āώāϤāĻŋāĻāĻžāϰāĻ āĻā§āĻĄ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻā§āϞāĻŋ āύāĻž āĻŦā§āĻā§ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻĒāĻĄā§āĻ āĻāϰāĻŦā§āύ āύāĻž
āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰāĻžāϰ āĻāĻā§ āĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āĻā§āύ⧠āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āϞāĻāĻā§āϞāĻŋ āĻĻā§āĻā§āύāĨ¤ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ āϝ⧠āĻāĻĒāĻā§āϰā§āĻĄ āĻŽāĻžāύ āϝā§āĻ āĻāϰā§, āĻāĻŦāĻ āĻĒāϰā§āĻā§āώāĻž āĻāϰ⧠āĻĻā§āĻā§āύ āϝ⧠āϰāĻā§āώāĻŖāĻžāĻŦā§āĻā§āώāĻŖāĻāĻžāϰ⧠āĻāĻāύāĻ āĻāĻĒāύāĻžāϰ āĻŦāĻŋāĻļā§āĻŦāĻžāϏāϝā§āĻā§āϝ āĻāĻāĻāĻŋ āĻĒāĻā§āώāĨ¤
āĻāϝāĻŧāĻžāĻāĻĄāĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§āϞāĻŋāĻā§ āĻĄā§āĻ āĻŦāĻž āĻā§āϏā§āĻ āύāĻŋāϰā§āĻāϰāϤāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻāύāϏā§āĻāϞ āĻāϰā§āύ⧎
āĻ āύāĻŋāϰāĻžāĻĒāĻĻ āύāĻŋāϰā§āĻāϰāϤāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒ āϏā§āĻā§āϝāĻžāύ āĻāϰāϤ⧠Snyk āĻāϰ āĻŽāϤ⧠āĻāĻāĻāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤
Cloud Functions āĻāύā§āϝ āĻŽāύāĻŋāĻāϰāĻŋāĻ āϏā§āĻ āĻāĻĒ āĻāϰā§āύ; āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻĒāĻĄā§āĻā§āϰ āĻĒāϰ⧠āĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ Cloud Functions āϞāĻāĻžāϰ SDK āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻāĻĒāĻĄā§āĻā§āϰ āĻāĻžāϰāĻŖā§ āϏā§āώā§āĻ āĻāĻāϰāĻŖ āϏāĻš āĻ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻāϰāĻŖā§āϰ āύāĻŋāϰā§āĻā§āώāĻŖ āĻāĻŦāĻ āϏāϤāϰā§āĻ āĻšāϤ⧠āĻĒāĻžāϰā§āύāĨ¤