인터페이스: 요청

속성

인증

규칙.지도

인증 컨텍스트를 요청합니다.

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

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


필드 설명
'이메일' 계정과 연결된 이메일 주소(있는 경우)입니다.
`이메일_확인됨` 사용자가 '이메일' 주소에 액세스할 수 있음을 확인한 경우 '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.tenant` 계정과 연결된 테넌트 ID입니다(있는 경우). 예: 'tenant2-m6tyz'

방법

null이 아닌 규칙.문자열

요청 방법입니다. 다음 중 하나:

  • get
  • list
  • create
  • update
  • delete

null이 아닌 규칙.경로

영향을 받는 리소스의 경로입니다.

질문

null이 아닌 규칙.맵

쿼리 속성 맵(있는 경우)

  • limit - 쿼리 제한 절입니다.
  • offset - 쿼리 오프셋 절입니다.
  • orderBy - orderBy 절을 쿼리합니다.

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

자원

null이 아닌 규칙.firestore.Resource

쓰기 요청에만 존재하는 새 리소스 값입니다.

시간

null이 아닌 규칙.타임스탬프

서비스에서 요청을 받은 시간입니다.

서버 측 타임스탬프가 포함된 Firestore 쓰기 작업의 경우 이 시간은 서버 타임스탬프와 동일합니다.

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