Skip to content

Instantly share code, notes, and snippets.

@jhonsore
Last active May 23, 2021 19:07
Show Gist options
  • Save jhonsore/37763cc74b08e3b9cca3427cf5c087b3 to your computer and use it in GitHub Desktop.
Save jhonsore/37763cc74b08e3b9cca3427cf5c087b3 to your computer and use it in GitHub Desktop.
Firebase Realtime Database rules examples
/**
* libera a leitura e nega a escrita, apenas poderá ser feita a escrita diretamente no dashboard do firebase
*/
{
"rules": {
"infos": {
".read": "true",
".write": "false"
}
}
}
/**
* libera a leitura apenas para usuários autenticados
*/
{
"rules": {
"infos": {
".read": "auth != null",
".write": "false"
}
}
}
/**
* somente usuários autenticados podem escrever
* somente usuários autenticados podem ler e o id precisa ser o do usuário
*/
{
"rules": {
"users": {
"$uid": {
".write": "auth != null",
".read": "auth != null && auth.uid == $uid"
}
}
}
}
/**
* Validando campos e sua integridade
* Situação: no nó de produtos, a descrição de um produto pode ser apenas do tipo string e conter menos que 400 caracteres
* a regra abaixo faz essa validação de um campo específico de um documento
*/
{
"rules": {
"produtos": {
"$uid": {
".write": "auth != null",
".read": "auth != null",
".validate": "newData.child('descricao').isString() && newData.child('descricao').val().length < 400"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment