android - Permissões de usuário no firebase - Stack Overflow em Português
Permissões de usuário no firebase
Bom dia, estou com uma dúvida, estou montando um app onde a pessoa acessa ele, faz o login e senha e depois aparece a tela inicial do mesmo. caso a pessoa não tenha cadastro ela fara o cadastro através do proprio app, mas minha preocupação é a seguinte. quero criar uma regra onde somente determinado usuário pode criar esses usuários. ex: a diretora da escola cria o usuário com base nos dados do aluno, ex: RA(REGISTRO DO ALUNO), mas queria saber como faço essa regra, se é diretamente no banco de dados FIREBASE no painel web, ou via app mesmo no androidstudio, e dependendo qual seria a escolha, como faria isso ?
android firebase firebase-cloud-functions
editada 24/01/2018 às 17:11
perguntada 24/01/2018 às 17:10
sender rodrigues dos santossender rodrigues dos santos
Como você estruturou o banco de dados? Pode postar a estrutura aqui? Assim eu poderei te ajudar a fazer as regras.
4/02/2018 às 17:13
{ "rules": { "users": { "$uid": { ".read": "$uid === auth.uid", ".write": "$uid === auth.uid" } } } }
– sender rodrigues dos santos
26/02/2018 às 23:06
Como você diferencia os users? Tem um campo que indica que é director/aluno? Se sim, qual é o campo?
26/02/2018 às 23:50
Você pode bloquear a Activity de cadastro para quem não tiver a permissão para cadastrar o usuário. Se for só um usuário como você escreveu pode fazer assim
if(userId.equals("id permitido")){
Intent intent = new Intent(this, CadastroActivity.class);
//É sempre importante avisar ao usuário o que está acontecendo
Toast.makeText(this, "Apenas usuários autorizados podem cadastrar novos", Toast.LENGTH_SHORT).show();
editada 28/01/2018 às 15:39
respondida 25/01/2018 às 18:20
28/01/2018 às 12:12
Isso só é uma boa ideia se usado em conjunto com uma regra de segurança no painel do Firebase, porque qualquer um pode alterar seu APK para abrir a tela de cadastro diretamente e burlar essa verificação. Qualquer verificação do lado do cliente deve ser feita apenas para manter o fluxo da aplicação, não para garantir a segurança.
28/01/2018 às 15:32
Com certeza, eu n inclui isso na resposta pois as regras já vem assim como padrão, mas é de extrema importância controlar quem tem acesso ao banco de dados
– Léo Santos
28/01/2018 às 15:35
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag android firebase firebase-cloud-functions ou faça sua própria pergunta.