Flask Academy · Aula

Proteja endpoints com jwt_required

Verifique o token em cada chamada da API.

Aula 3 de 413 etapas

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}, 401

Tokens 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. 🔐

Grátis para começar

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

  1. Sessões versus tokens sem estado
  2. Emita tokens de acesso no login
  3. Proteja endpoints com jwt_required
  4. Tokens de atualização e expiração
← Voltar para Flask Academy