インターフェース: Request

プロパティ

auth

rules.Map

認証コンテキストをリクエストします。

  • uid - リクエストしているユーザーの UID。
  • token - JWT トークン クレームのマップ。

token マップには、次の値が含まれます。


フィールド 説明
`email` アカウントに関連付けられているメールアドレス(存在する場合)。
「email_verified」 ユーザーが「email」にアクセスできることを確認した場合は `true` あります。
`phone_number` アカウントに関連付けられている電話番号(存在する場合)。
`name` ユーザーの表示名(設定されている場合)。
`sub` ユーザーの Firebase UID。これはプロジェクト内で一意です。
firebase.identities このユーザーのアカウントに関連付けられているすべての ID のマップ。 マップのキーは `email`、`phone`、 `google.com`、`facebook.com`、`github.com`、`twitter.com`値 マップは ID と ID の一意の識別子のリスト 関連付けられています。たとえば `request.auth.token.firebase.identities["google.com"][0]` には、 アカウントに関連付けられた最初の Google ユーザー ID。
firebase.sign_in_provider このトークンを取得するために使用されたログイン プロバイダ。次のいずれかになります。 `custom`、`password`、`phone`、`anonymous`、 `google.com`、`facebook.com`、`github.com`、`twitter.com`
firebase.tenant アカウントに関連付けられている tenantId(存在する場合)。例:「tenant2-m6tyz」

method

非 null の rules.String

リクエスト メソッド。次のいずれか 1 つ:

  • get
  • list
  • create
  • update
  • delete

パス

非 null の rules.Path

影響を受けるリソースのパス。

クエリ

非 null の rules.Map

クエリ プロパティのマップ(存在する場合)。

  • limit - クエリ制限句。
  • offset - クエリ オフセット句。
  • orderBy - orderBy 句をクエリします。

// Limit documents per request to 50
allow list: if request.query.limit <= 50

リソース

非 null の rules.firestore.Resource

新しいリソース値。書き込みリクエスト時にのみ存在します。

時間

非 null の rules.Timestamp

サービスがリクエストを受信したタイミング。

サーバーサイドのタイムスタンプを含む Firestore 書き込みオペレーションの場合、 サーバーのタイムスタンプと等しくなります。

// Make sure that 'myServerTimestampField' was set using a
// server-side timestamp.
request.time == request.resource.data.myServerTimestampField