rules. firestore. リクエスト
インターフェース 静的
受信リクエストのコンテキスト。
プロパティ
auth
認証コンテキストをリクエストします。
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