1
resposta

Não verifica a senha.

O código está bem legal, mas ainda, o else do professor somente verifica o ID do usuário, caso esse esteja correto e a senha não, vai gerar um erro. O correto seria ter também dentro do segundo if.

1 resposta

Olá Guilherme, tudo bem com você?

Peço desculpas pela demora no retorno.

Fico feliz que tenha gostado do código desenvolvido durante o curso. Essa observação sobre a autenticação dos dados do usuário é muito importante, quando estamos codificando nossos projetos, temos que sempre realizar essas avaliações e testes de modo a sabermos onde podemos implementar o código.

Implementar a autenticação do usuário como sugerido, teremos a adição da condição else que será executada caso o usuário informado esteja correto, mas com a senha errada, a implementação ficará como apresentada abaixo:

@app.route('/autenticar', methods=['POST', ])
def autenticar():
    if request.form['usuario'] in usuarios:
        usuario = usuarios[request.form['usuario']]
        if usuario.senha == request.form['senha']:
            session['usuario_logado'] = usuario.id
            flash(usuario.nome + ' logou com sucesso!')
            proxima_pagina = request.form['proxima']
            return redirect(proxima_pagina)
        else:
            flash('Senha inválida, tente de novo!')
            return redirect(url_for('login'))
    else:
        flash('Não logado, tente denovo!')
        return redirect(url_for('login'))

Com a implementação acima o erro TypeError: The view function for 'autenticar' did not return a valid response não será apresentado caso um usuário cadastrado erre a senha.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software