django-admin startproject miapiEm seguida, instale o Django Rest Framework e o djangorestframework_simplejwt, que serão nossas ferramentas básicas para criar e gerenciar a API e o tratamento seguro usando JWT:
pip install djangorestframework djangorestframework-simplejwtCriando o Modelo de Usuário
Nosso projeto precisará de um modelo básico para gerenciar usuários. Podemos estender o modelo de Usuário fornecido pelo Django ou criar um completamente novo. No nosso caso, vamos estender o modelo base:
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
passLembre-se de registrar este modelo no painel de administração para facilitar seu gerenciamento e realizar as migrações necessárias.
Construindo a API
Com o modelo pronto, vamos criar um aplicativo dentro do projeto para lidar com a lógica relacionada aos usuários.
python manage.py startapp usersAdicione-o aos aplicativos instalados em o arquivo settings.py e configure os caminhos necessários para gerar endpoints funcionais:
etc.
# urls.py
from django.urls import path
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
urlpatterns = [
path(api/token/, TokenObtainPairView.as_view(), nome=token_obtain_pair),
caminho(api/token/refresh/, TokenRefreshView.as_view(), nome=token_refresh),
]
Manipulação segura com JWT
É aqui que o JWT entra em ação. A autenticação baseada em token oferece não apenas segurança, mas também flexibilidade, permitindo sessões sem estado, que são ideais para APIs.
| Sistema Tradicional | Sistema JWT |
|---|---|
| Sessão armazenada no servidor. | Sessão representada por um token armazenado no cliente. |
| Eficiente, mas não escalável. | Eficiente e Escalável. |
Certifique-se de definir corretamente as permissões necessárias no sistema para restringir o acesso à sua API apenas aos usuários devidamente autenticados. Isso é feito em cada visualização ou em um arquivo views.py dedicado.
Manutenção Contínua
O Django facilita muito a manutenção de um ciclo de vida saudável para nossos aplicativos, graças à sua capacidade de integração com várias ferramentas, como ferramentas de manutenção web. Não se esqueça de adicionar testes unitários, monitorar logs e configurar alertas antecipados para possíveis vulnerabilidades.
Comentários
0Seja o primeiro a comentar