Executando verificação de segurança...
1

Dúvida: Leigo Criando Uma Api

Olá galera tudo bem?
Como o título diz, realmente sou leigo em back estou iniciando os estudos agora.
Mas vamos supor o seguinte cenário.

Eu faço uma requisição para API fazendo login no usuário DOG, então a API me retorna.

{
       user:"DOG",
       isAdmin: false
}

Mais tarde esse usuário resolve testar minha API e intercepta a resposta e muda o conteúdo de isAdmin para true, fazendo com ele ele tenha acesso a módulos restritos.

Como posso resolver esse problema?

Carregando publicação patrocinada...
1

A autenticação no front-end deve se limitar a exibição de rotas. Ou seja, se exite uma rota "financeiro" (por exemplo) e o usuário logado não é autenticado a ela, o ícone de acesso a essa rota não deve nem aparecer (ou aparecer mas desabilitado).
Mas caso o usuário intercepte e passe a ter acesso, ao clicar, o front irá enviar requisições para o back (um GET inicialmente), e este método no back-end deve, de forma redundante, verificar os acessos do usuário para saber se ele pode ou não fazer essa requisição.

Assim, mesmo que o "isAdmin" seja interceptado, o usuário não consegue acessar dados sensíveis (não dessa forma).

O JWT (como já sugerido) é bem prático pra isso, nele você facilmente define qual perfil de usuário pode enviar determinado tipo de requisição para uma rota.

1
1

De forma bem resumida: não retorne a informação isAdmin para o frontend. Faça a checagem no backend, sempre que o usuário tentar acessar algum recurso protegido.

Ou, em vez de retornar esse JSON, outra alternativa é usar um JWT Token que contenha os papéis do usuário (sendo "admin" um desses papéis). Isso tem prós e contras (como tudo em computação), então não deixe de ler aqui para mais detalhes.

1