Autenticação JWT no FastAPI

A autenticação pergunta "Quem é você?" A autorização pergunta "O que você pode fazer?"

Se você construir uma plataforma de IA sem segurança, qualquer pessoa poderá acessar dados privados. Eles podem alterar perfis de usuários ou visualizar o progresso dos alunos. Você deve proteger seus recursos.

O JWT (JSON Web Token) resolve isso. Em vez de enviar uma senha a cada requisição, o usuário envia um token seguro.

O fluxo de trabalho:

Você deve usar estas ferramentas:

Nunca armazene senhas em texto puro. Se um hacker roubar seu banco de dados, ele terá tudo. Em vez disso, armazene um hash.

Um hash transforma "password123" em uma longa string de caracteres aleatórios. Você não pode transformar o hash de volta na senha. Você apenas verifica se a entrada corresponde ao hash.

Como construir:

  1. Registro O usuário envia um nome de usuário e uma senha. Você gera o hash da senha e o armazena em seu banco de dados.

  2. Login O usuário envia as credenciais. Você encontra o hash armazenado. Você usa a biblioteca para verificar a senha. Se ela coincidir, você cria um token.

  3. Geração de JWT Um token contém dados do usuário e um tempo de expiração. Você assina o token com uma chave secreta. Se um usuário tentar alterar os dados, a assinatura falhará.

A resposta de login é assim: { "access_token": "eyJhbGciOiJIUzI1Ni...", "token_type": "bearer" }

Agora o usuário possui uma chave para o seu sistema.

Na próxima parte, aprenderemos como usar esses tokens para proteger rotas específicas e gerenciar papéis de usuário.

Resumo dos passos:

Source: https://dev.to/zeroshotanu/fastapi-for-ai-engineers-part-6-jwt-authentication-in-fastapi-5fpk

Optional learning community: https://t.me/GyaanSetuAi