2
respostas

Aula 4 - Autenticação real com JWT

Pelo amor de Deus, aos 19 minutos, quando ele mostra o código novamente, o mesmo está diferente de 5 segundos antes, o professor corrigiu o código e não avisou nada!!!

O @token_required vai depois da rota e não antes, isso não foi alterado!

Outro colega avisou do @wraps(f), que é necessário o (f), porque no código não tem o argumento...

PÉSSIMO!!!

2 respostas

Bom dia, Alfredo, tudo certo?

Compreendo a sua frustração quando as coisas não estão claras ou quando há mudanças no código que não são explicadas. Vamos tentar esclarecer esses pontos juntos!

  1. Posição do @token_required: normalmente, o decorador @token_required é colocado antes da definição da rota para garantir que a autenticação seja verificada antes que a função da rota seja executada. Se o vídeo mostra de outra forma, pode ser um erro de edição ou um ajuste que o professor fez sem explicar. Tente seguir a prática comum de colocar o decorador antes da rota.

    Exemplo:

    @app.route('/protected')
    @token_required
    def protected_route():
        return jsonify({'message': 'This is a protected route'})
    
  2. Uso do @wraps(f): o decorador @wraps(f) é usado para preservar as informações do decorador original, como o nome e a docstring da função. É importante passar a função f como argumento para que o decorador funcione corretamente. Se o código está sem o argumento, pode ser um erro que precisa ser corrigido.

    Exemplo:

    from functools import wraps
    
    def token_required(f):
        @wraps(f)
        def decorated(*args, **kwargs):
            # lógica de verificação do token
            return f(*args, **kwargs)
        return decorated
    

Espero que essas dicas ajudem a esclarecer as dúvidas e a corrigir o código.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obrigado pela resposta.

Por favor, assistam o vídeo e corrijam esse problema.

Eu não fui o único aluno a reclamar disso.