SDKs
Interact with the backend with the help of SDKs. We use Javascript SDKs.
client SDKs
The client SDKs run on unprivileged clients, such as browsers. It can also run in a Node.js app that wants to act as an (unprivileged) client.
npm i firebase
admin SDK: privileged environments
The admin SDK is designed to run on secure, privileged environments.
The admin SDK authenticates itself against Google servers by using a privileged account called a service account. Service accounts are automatically created by Google, scoped to a Firebase project and have specific entitlements. The admin SDK skips user-centric authentication and is not subject to security rules (which are designed to control untrusted requests).
We primarily use the admin SDK within Cloud Functions, an environment pre-configured by Google with the appropriate service account. The admin SDK detects it and uses it.
We use the Node.js admin SDK:
npm i firebase-admin
Cloud Functions SDK
We define Cloud Functions with the (Node.js) Cloud Functions SDK.
We have the package listed as a dependency after scaffolding the Cloud Functions directory with firebase init.
"firebase-functions": "^7.0.0",