Я пытаюсь применить некоторые правила безопасности к нашему экземпляру firebase, но я, похоже, не могу получить вызовы от iOS, чтобы их уважать. Я начал с простого теста, который проверяет аутентификацию (должен быть успешным), а затем пытается записать неопределенное значение корневому файлу (должен завершиться с ошибкой).Firebase игнорирует правила безопасности при использовании тайны
Правила:
{
"rules":
{
//Default read and write access to authenticated users only
".read" : "auth != null",
".write" : "auth != null",
//Prevent undefined child variables
"$undef" : { ".validate" : false }
}
}
Логин:
- (void)authenticate
{
[_dataRef authWithCredential:SECURITY_CREDENTIAL //Firebase Secret JSON token
withCompletionBlock:^(NSError *error, id data){}
withCancelBlock:^(NSError *error)
{
//If the authentication becomes invalid, re-authenticate
[self authenticate];
}];
}
Написать тест:
[[[[Firebase alloc] initWithUrl:ROOT_URL] childByAppendingPath:CHILD_PATH] setValue:VALUE];
Теперь то, что я не могу показаться, чтобы выяснить, почему тренажер правильно не сможет записать это значение , но iOS игнорирует проверку и записывает данные.
Также после дальнейшего тестирования я столкнулся со второй проблемой, которая возникла из этого. Если я изменю учетные данные, которые я использую для аутентификации на то, что не является действительным секретным токеном firebase, iOS будет корректно завершать auth, но симулятор с аутентификацией, пока я передаю ему любую строку. Это правильно?
И вот конкретный раздел документации, который [рассказывает о секретах] (https://www.firebase.com/docs/rest/guide/user-auth.html#section-rest-server-authentication), чтобы добавьте ответ Криса. – Kato
Было бы неплохо, если бы это было где-то на https://www.firebase.com/docs/web/guide/understanding-security.html - просто потратил кусок времени, задаваясь вопросом, почему мои правила безопасности и валидации weren ' t: P –