Proteja endpoints com jwt_required
Verifique o token em cada chamada da API.
Proteja endpoints com jwt_required é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
Protegendo uma rota
Um token só é útil se algumas rotas exigirem sua apresentação. O decorador jwt_required transforma qualquer tela em um endpoint exclusivo para membros. 🔒
Aplique o decorador
Coloque @jwt_required() abaixo da sua rota. Agora, a tela só será executada quando chegar um token válido e não expirado.
@app.get("/profile")
@jwt_required()
def profile():
...Onde o token vai
Os clientes enviam o token no cabeçalho Authorization, usando o esquema Bearer. O Flask-JWT-Extended o lê dali automaticamente.
Authorization: Bearer <your-token>Rejeição automática
Não há token ou ele é inválido? O decorador interrompe a solicitação antes da execução do seu código e retorna um 401. O senhor não precisa escrever nenhuma lógica de verificação.
Quem está chamando
Dentro de uma tela protegida, chame get_jwt_identity para ler a identidade assinada no login, geralmente o identificador do usuário.
from flask_jwt_extended import get_jwt_identity
uid = get_jwt_identity()Leia todas as declarações
Precisa de declarações extras, como uma função? get_jwt retorna toda a carga útil como um dicionário, para que o senhor possa decidir com base no conteúdo.
from flask_jwt_extended import get_jwt
role = get_jwt().get("role")Use a identidade
Com o identificador do usuário em mãos, carregue esse usuário e forneça os dados dele. O token informou quem é a pessoa; o restante é Flask normal. 🙂
user = User.query.get(get_jwt_identity())Proteção opcional
Quer uma página que se adapte ao fato de alguém estar ou não conectado? Use optional=True para que a tela seja executada nos dois casos.
@jwt_required(optional=True)Personalize o erro
Registre um carregador_de_não_autorizado para retornar uma mensagem JSON amigável em vez da resposta padrão quando um token estiver ausente.
@jwt.unauthorized_loader
def missing(reason):
return {"msg": reason}, 401Tokens expirados
Um token expirado também é rejeitado pelo decorador. O cliente precisa fazer login novamente ou atualizar o token para continuar, o que mantém os tokens roubados válidos por pouco tempo.
Nunca confie no corpo da requisição
Leia o autor da chamada no token, nunca em um identificador de usuário no corpo da requisição. É a assinatura que torna a identidade confiável.
Verificação rápida
Relembre como uma visualização protegida descobre quem está fazendo a chamada.
Recapitulação
Adicione @jwt_required() para proteger uma rota, envie o token como um cabeçalho Bearer e leia o autor da chamada com get_jwt_identity. 🔐
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Proteja endpoints com jwt_required” é grátis?
Sim — o texto completo de “Proteja endpoints com jwt_required” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “Proteja endpoints com jwt_required”?
Verifique o token em cada chamada da API. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Proteja endpoints com jwt_required”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Sessões versus tokens sem estado
- Emita tokens de acesso no login
- Proteja endpoints com jwt_required
- Tokens de atualização e expiração