1. ホーム
  2. firebase

[解決済み] Firebase Cloud FunctionのHTTPエンドポイントを保護し、Firebase認証ユーザーのみを許可するには?

2022-04-13 17:27:41

質問

firebaseの新しいクラウド機能で、HTTPエンドポイントのいくつかをfirebaseに移行することにしました。 すべてうまくいっています... しかし、次のような問題があります。HTTP Triggers (Cloud Functions) によって構築された2つのエンドポイントがあります。

  1. ユーザーを作成するためのAPIエンドポイントであり、カスタムトークンを返します。 Firebase Admin SDKによって生成されます。
  2. 特定のユーザーの詳細を取得するためのAPIエンドポイントです。

最初のエンドポイントは問題ないのですが、2番目のエンドポイントでは、認証されたユーザーのみに保護したいのです。

どのように解決すればよいのでしょうか?

クラウド関数のHeaderパラメータを取得できることは知っています。

request.get('x-myheader')

しかし、リアルタイムデータベースを保護するように、エンドポイントを保護する方法はあるのでしょうか?

解決方法は?

公式の コードサンプル をご覧ください。 これは、認証時にクライアントが受け取ったトークンを含む Authorization ヘッダを要求する HTTPS 関数の設定方法を示しています。 この関数では、firebase-admin ライブラリを使用してトークンを検証しています。

また、" 呼び出し可能な関数 もし、あなたのアプリがFirebaseクライアントライブラリを使用できるのであれば、この定型文の多くを簡単にすることができます。