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?

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.

Obrigado pela dica, sucesso em sua carreira.

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.

Muito obrigado por sua resposta, vou analisar o link anexado.