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".