Dies ist in der Tat eine der wichtigsten Fähigkeiten in den Cloud Functions for Firebase documentation erwähnt:
Halten Ihre Logik privat und sicher
In vielen Fällen bevorzugen Entwickler Anwendungslogik auf dem Server zu steuern, Vermeiden Sie Manipulationen auf der Client-Seite. Manchmal ist es auch nicht wünschenswert, dass dieser Code rückentwickelt wird. Cloud-Funktionen vollständig vom Client isoliert, so können Sie sicher sein, es ist privat und immer genau das tut, was Sie wollen
Es gibt durchaus einige Proben in Firebase des functions-samples repo.
Zum Beispiel erfordert das Beispiel, das eine E-Mail-Bestätigung an Benutzer sendet, die gmail-Anmeldeinformationen zum Senden von E-Mails. Sie werden diese Anmeldeinformationen niemals in den Anwendungscode einbetten müssen, wo ein böswilliger Benutzer sie wahrscheinlich finden und missbrauchen könnte. Dieser Code ist also ein großartiger Kandidat für die Ausführung in Cloud-Funktionen. Die code that reads these values aus dieser Probe:
// Configure the email transport using the default SMTP transport and a GMail account.
// For other types of transports such as Sendgrid see https://nodemailer.com/transports/
// TODO: Configure the `gmail.email` and `gmail.password` Google Cloud environment variables.
const gmailEmail = encodeURIComponent(functions.config().gmail.email);
const gmailPassword = encodeURIComponent(functions.config().gmail.password);
const mailTransport = nodemailer.createTransport(
`smtps://${gmailEmail}:${gmailPassword}@smtp.gmail.com`);
Sie könnten hart Code die E-Mail-Adresse und das Passwort, da nur Entwickler auf Ihrem Projekt werden in der Lage sein, es zu sehen. Aber in diesem Fall macht das Beispiel es noch besser und behält die Anmeldeinformationen in der serverseitigen Konfiguration bei, die es mit functions.config()
liest. Um zu erfahren, wie diese zu definieren, lesen die documentation for the sample:
Stellen Sie die gmail.email
und gmail.password
Google Cloud Umgebungsvariablen die E-Mail und das Passwort des Google Mail-Konto übereinstimmen verwendet E-Mails zu senden (oder das App-Passwort, wenn Ihr Konto verfügt über 2 - Schrittverifizierung aktiviert). Für diese Verwendung:
firebase functions:config:set gmail.email="[email protected]" gmail.password="secretpassword"