この投稿シリーズは NgateSystems.com にインデックスされています。とても便利なキーワード検索機能もあります。
最終レビュー日: 2024 年 11 月
ポスト 3.3 では悪いニュースがいくつかありました。ログイン ユーザーに関する情報を提供するためにクライアント側で使用されていた Firestore 認証オブジェクトがサーバー側では利用できません。これにより、次のような結果が生じます:
サーバー側のデータベース コードでは Firestore Admin API を使用する必要があります。これは、認証が利用できない場合、認証を参照するデータベース「ルール」に従って呼び出しを行う Firestore クライアント API コードが失敗するためです。対照的に、Admin API 呼び出しではデータベース ルールは考慮されません。ルールを削除すると、クライアント API 呼び出しはサーバー側で機能しますが、データベースがサイバー攻撃にさらされることになります (ローカルの VSCode ターミナルを使い始めて以来、ライブ Firestore データベースを操作し続けています。考えてみてください) .
認証から派生した userName や userEmail などのデータ項目を使用するサーバー側のコードは、この情報を取得する別の方法を見つける必要があります。
この投稿では、これらの問題を克服して、サーバー側で安全かつ効率的に実行される高パフォーマンスの Web アプリを作成する方法について説明します。
クライアント呼び出しシグネチャにすでに慣れている場合、Firestore Admin API に切り替える必要があるのは面倒です。しかし、これにはすぐに慣れるので、それほど負担になることはありません。
ただし、ユーザーデータの取得は別問題です。多くのアプリケーションでは、uId などのユーザー プロパティへのアクセスが設計にとって重要です。たとえば、Web アプリでは、ユーザーが自分のデータのみを表示できるようにする必要がある場合があります。残念ながら、これを手配するのは非常に困難です。さあ、始めましょう: