Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Google Chrome não salva senha

Boa tarde, Estou fazendo uma SPA e salvando a senha na sessionStorage.

No navegador Firefox aparece para salvar a senha e depois de salvo o mesmo puxa normalmente.

Quando abro com o Google Chrome ele pergunta se quero salvar, eu vou em sim, porem no próximo login ele não puxa a senha. Fica como salvo se eu entrar no navegador e ir em senhas salvas, aparece o login e senha que coloquei. porem ele não puxa.

Ambiente: React, Bootstrap, Requisição Axios e salvando na sessionStorage

<Card id="form-login" className="z-depth-2">
   <CardImage className="img-fluid" src={img} />
   <CardTitle className="text-center"><b>Login</b></CardTitle>
   <form>
      <Input id="input-user" type="text" label="Codigo do usuario" onChange={(e) => this.setState({ usuarioInformado: e.target.value })} />
      <Input type="password" label="Senha" onChange={(e) => this.setState({ senhaInformada: e.target.value })} />
      <div className="text-center">
         <Button onClick={this.login} value="login" type="submit" className="btn-block" id="btn-login" color="orange darken-4">entrar</Button>
      </div>
   </form>
</Card>

Login:

login = (event) => {
    event.preventDefault();

    if (!Number.isInteger(Number(this.state.usuarioInformado))) {
        this.notify('error', '');
        return;
    }
    if (Number(this.state.usuarioInformado) < 1) {
        this.notify('error', '');
        return;
    }
    if (this.state.senhaInformada.length === 0) {
        this.notify('error', '');
        return;
    }
    if (this.state.senhaInformada.length > 8) {
        this.notify('error', '');
        return;
    }
    axios.get(this.state.server + "/usuario/get?id=" + Number(this.state.usuarioInformado) + "&senha=" + this.state.senhaInformada)
        .then(
            (result) => {
                this.setState(result.data);
                if (this.state.status === 1) {
                    sessionStorage.setItem("usuario", this.state.usuarioInformado);
                    sessionStorage.setItem("senha", this.state.senhaInformada);
                    sessionStorage.setItem("nome", this.state.usuario.nome);
                    sessionStorage.setItem("system", this.state.usuario.system);
                    sessionStorage.setItem("admin", this.state.usuario.admin);
                    sessionStorage.setItem("user", this.state.usuario.user);
                    sessionStorage.setItem("empresa", this.state.usuario.empresa);
                    window.location.href = Front + "/menu";
                } else if (this.state.status === 0) {
                    this.notify('servidor', this.state.mensagem);
                }
            }
        );

}

Ação do Button sair

 deslogar = () => {
    sessionStorage.clear();
    window.location.href = Front;
}

isso pode ser algum problema de como o Chrome lida com a sessionStorage ? pois no Firefox funciona perfeitamente.

Outra coisa eu vi em vários forum de como fazer para ele NAO gravar, oque da a entender que o comportamento esperado seria ele gravar sem problemas, quando tem um campo type "password".

1 resposta
solução!

Problema resolvido, Estava com um problema no componente do Bootstrap.

Não sei qual nem como, mas utilizando outro input deu certo.