LoginSignup
4
2

More than 5 years have passed since last update.

Cloud Functions for FirebaseにはDatabaseへの書き込み前イベントハンドラがない?

Posted at

Cloud Functions for Firebaseを使ってみた

Cloud Functions for Firebaseって何って方はこちらを参考にしてください
Cloud Functions for Firebaseとは?

何がしたかったか

FirebaseのAuthentication機能を使用したログイン機能、Database機能を使用した暗号化したプロフィール保存およびそれの連携

メールアドレス、パスワードをAuthenticationに保存し

スクリーンショット 2018-02-28 13.47.54.png

⇒そのユーザーIDをキーに、Databaseに暗号化したプロフィール保存

Databaseにプロフィールを保存する前に暗号化したいのでCloud functionsを使用する

しかしDatabaseへのデータ保存前にというイベントハンドラがCloud Functionsにはない・・・?
公式サイト⇒Firebaseトリガーの記述

イベントハンドラ一覧
- onWrite(): Realtime Database でデータが作成、更新、または削除されるとトリガーされます。
- onCreate(): Realtime Database で新しいデータが作成されるとトリガーされます。
- onUpdate(): Realtime Database でデータが更新されるとトリガーされます。
- onDelete(): Realtime Database でデータが削除されるとトリガーされます。

イベントハンドラが4つしかない・・・

しかもonWriteイベントはデータが作成、更新、削除した後にトリガーされるので、データ保存前にというイベントハンドラはない模様。

自分の場合

一度Databaseに保存したあとonWriteイベントでデータを取り出した後暗号化を行い、保存し直した。

まぁこれでも全く問題ないのだが、少々面倒と感じてしまった。
Firebaseはログインに関する手段が豊富で、手が広い。非常に便利なものだが、やはり万能ではないと思った。

参考サイト

Firebaseの始め方
Cloud Functions for Firebaseとは?

4
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2