Cloud Functions for Firebaseを使ってみた
Cloud Functions for Firebaseって何って方はこちらを参考にしてください
Cloud Functions for Firebaseとは?
何がしたかったか
FirebaseのAuthentication機能を使用したログイン機能、Database機能を使用した暗号化したプロフィール保存およびそれの連携
メールアドレス、パスワードをAuthenticationに保存し
⇒そのユーザー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はログインに関する手段が豊富で、手が広い。非常に便利なものだが、やはり万能ではないと思った。