2023-07-09 from Firestoreのデータを集計したい

nishio.iconFirestoreへのスクリプトからのアクセスを許可するために、以下のルールを更新したいのですが。どうすればよいですか? … GPT-4.iconnishio.icon

  • 現在のFirestoreルールallow read, write: if request.auth != null && request.auth.uid == userId;では、認証されたユーザーにアクセスを制限し、認証されたユーザーのID(request.auth.uid)がドキュメントパスのユーザーID(userId)と一致するかどうかをチェックします。
    • これにより、ユーザは自分のデータのみにアクセスできるようになります。
  • しかし、Firebase Admin SDKを使用している場合、request.authオブジェクトはnullになります。
    • Admin SDK は認証にユーザーアカウントではなく、サービスアカウントを使用します。
    • このため、サーバー側のスクリプトは現在のルールではデータにアクセスできません。
  • サービスアカウントからのリクエストかどうかを調べるには、 request.auth.token.firebase.sign_in_provider をチェックします。このフィールドが “null” なら、リクエストがサービスアカウントで認証されたことを意味します:
    • || request.auth.token.firebase.sign_in_provider == "null"

Firestoreのデータを集計したい