Executando verificação de segurança...
1
Joab
1 min de leitura ·

Ajuda Autenticação/Login React, React Router

Salve galera, recentemente entrei em um projeto onde sou o único front-end, e tive que desenvolver uma aplicação com login, porém eu estou com dúvida sobre como realizei o login com React.

O código

O login é realizado mandando a requisição post com usuário e a senha para o servidor. Onde ele me devolve um JWT que salvo no localStorage

api.post( "/login",
    {
        username: username,
        psswd: password,
    })
    .then((response) => {
        if (response.data) {
            localStorage.setItem("token",JSON.stringify(response.data));
            return {success: true,message: "login realizado com sucesso"}
        }
    })

Ai criei uma PrivateRoute que valida se existe o token no localStorage ou redireciona a pessoa para o login.

const storageToken = JSON.parse(localStorage.getItem("token"));

    if((storageToken && storageToken.token_type)){
        return (<Outlet />) 
    } else {
        return  <Navigate to="/login" />
    }

Para fazer as requisições no backend ele valida o token, porém ainda não foi me disponibilizado um endpoit para validar o meu token.

Além de validar o token no endpoit para acessar as rotas privadas(Não fiz pq ainda não está disponível o endpoint)

O que eu poderia melhorar?

Carregando publicação patrocinada...
Conteúdo excluído
1

A parte do token eu entendo que falta muita segurança, me disponibilizaram o endpoit hoje para eu poder validar.
Nas condicionais da rota privada ficou muito legal pois vou ter que adicionar mais uma regra que direciona para outra página no primeiro login, da maneira que você colocou aqui vai ficar muito mais claro a regra.

Cara, muito obrigado pela ajuda e pela atenção.