인터페이스: 요청

속성

auth

rules.Map

요청 인증 컨텍스트입니다.

  • uid - 요청하는 사용자의 UID입니다.
  • token - JWT 토큰 클레임의 맵입니다.

token 맵에는 다음 값이 포함됩니다.


필드 설명
'이메일' 계정과 연결된 이메일 주소(있는 경우)입니다.
'이메일 확인됨' 사용자가 `email` 에 액세스 권한이 있음을 확인한 경우 `true` 있습니다.
'전화번호' 계정과 연결된 전화번호(있는 경우)입니다.
'이름' 사용자의 표시 이름(설정된 경우)입니다.
'하위' 사용자의 Firebase UID입니다. 프로젝트 내에서 고유합니다.
'firebase.identities' 이 사용자의 계정과 연결된 모든 ID의 맵입니다. 지도의 키는 `email`, `phone`, `google.com`, `facebook.com`, `github.com`, `twitter.com`. 이 지도는 각 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.테넌트' 계정과 연결된 테넌트 ID(있는 경우) 예: `테넌트2-m6tyz`

method

null이 아닌 rules.String

요청 메서드입니다. 다음 중 하나를 선택합니다.

  • 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