Параметры запроса правил безопасности Firestore - PullRequest
0 голосов
/ 21 мая 2018

Есть ли в правилах безопасности Firestore способ доступа к параметрам, отправляемым как часть запроса списка?

ЦЕЛЬ: Я хочу получить single пост-документ, которыйравно published, используя его slug свойство.

QUERY:

let postDoc = this.afs.collection( 'posts', ref => ref
    .where( 'published', '==', true )
    .where( 'slug', '==', slug )
    .limit( 1 )
);

ПРАВИЛО:

allow list: if ( resource.data.published == true )
            && ( resource.data.slug == request.resource.data.slug )
            && request.query.limit <= 1;

ПРОБЛЕМА: Это приводит к 'нет разрешения'ошибка.Однако, если я удаляю ( resource.data.slug == request.resource.data.slug ), он работает нормально.Я предполагаю, что проблема в том, что request.resource.data.slug существует только для запросов на запись, а не для запросов на чтение (см. https://firebase.google.com/docs/reference/rules/rules.firestore.Request).

Есть ли способ заставить эту работу?

...