Ao salvar o usuário no banco é gerado um hash de senha, porém ao tentar logar é gerado um hash diferente para mesma a senha então não é possível efetuar o login. A solução provisória foi:
public Result salvaNovoUsuario() {
Form<Usuario> formulario =
formularios.form(Usuario.class).bindFromRequest();
if (validadorDeUsuario.temErros(formulario)) {
flash("danger", "Existem erros no preenchimento do
cadastro");
return
badRequest(formularioDeNovoUsuario.render(formulario));
}
Usuario usuario = formulario.get();
String senha = usuario.getSenha();
usuario.setSenha(senha);
usuario.save();
TokenDeCadastro token = new TokenDeCadastro(usuario);
token.save();
enviador.send(new EmailDeCadastro(token));
flash("success", "Um email foi enviado para confirmar seu
cadastro!");
return
redirect(routes.UsuarioController.formularioDeNovoUsuario());
}
Mas com isso só foi possível acessar uma única vez já que a eu joguei a parte de criptografia para o final e volto ao mesmo problema. Estou procurando uma forma de guardar a senha do usuário salva no banco e reutiliza-la no login ou comparar as senhas descriptografadas.