"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dominando o Django: Construindo uma API de Autenticação de Usuário Segura do Zero

Dominando o Django: Construindo uma API de Autenticação de Usuário Segura do Zero

Publicado em 31/08/2024
Navegar:853

``## Dia 4
Já se passaram quatro dias no desafio de codificação #100daysofMiva. ???

? Mergulhe no Django: Construindo uma API de autenticação de usuário segura do zero!

Você está pronto para levar suas habilidades de Django para o próximo nível? ? Neste tutorial, orientarei você na criação de uma API robusta de autenticação de usuário usando Django. Quer você seja um desenvolvedor experiente ou esteja apenas começando, este guia passo a passo orientará você na configuração do registro do usuário, login e autenticação baseada em token.

Ao final desta sessão, você terá um conhecimento sólido de como:

  1. Configure um projeto Django e configure pacotes essenciais
  2. Criar e personalizar serializadores para dados do usuário
  3. Crie visualizações para lidar com registro e autenticação de usuários
  4. Implementar autenticação baseada em token para acesso seguro à API
  5. Junte-se a nós enquanto transformamos uma tela em branco em um poderoso sistema de autenticação e desbloqueie novas possibilidades em sua jornada Django! ??

Vamos começar a programar! ?✨

Mastering Django: Building a Secure User Authentication API from Scratch

Passo 1: Configure seu ambiente Django:

Para fazer isso, você precisa ter o python instalado: Certifique-se de que o Python esteja instalado executando:
macOS/Linux:
Python geralmente vem pré-instalado. Você pode verificar executando:
Mastering Django: Building a Secure User Authentication API from Scratch
ou
Mastering Django: Building a Secure User Authentication API from Scratch
Se necessário, instale o Python via Homebrew (macOS) ou gerenciador de pacotes (Linux):
Mastering Django: Building a Secure User Authentication API from Scratch

Windows:

  • Baixe e instale o Python em python.org.
  • Certifique-se de marcar a caixa para adicionar Python ao seu PATH durante a instalação.

Etapa 2. Configure um ambiente virtual:

macOS/Linux:

Crie e ative um ambiente virtual:

Mastering Django: Building a Secure User Authentication API from Scratch

Windows:

Crie e ative um ambiente virtual:

Mastering Django: Building a Secure User Authentication API from Scratch

Passo 3. Instale Django e Pacotes

Agora, o que é um framework sem seus pacotes?...vamos instalar os pacotes que precisaremos.?
Com o ambiente virtual ativado, os comandos para instalar o Django e pacotes adicionais são os mesmos em todos os sistemas operacionais:

Mastering Django: Building a Secure User Authentication API from Scratch
Explicação:
`

  1. djangorestframework: Este é um kit de ferramentas poderoso e flexível para construir APIs Web com Django.
  2. djangorestframework-simplejwt: Este pacote fornece autenticação JSON Web Token (JWT), que é comumente usada para autenticação segura de API.

Etapa 4. Crie e configure o projeto Django

macOS/Linux/Windows:

Crie um projeto e aplicativo Django:

Mastering Django: Building a Secure User Authentication API from Scratch
vamos simplificar as coisas necessárias:

  1. startproject1: Este comando cria um novo projeto Django. Um projeto é uma coleção de configurações para uma instância do Django, incluindo configuração de banco de dados, opções específicas do Django e configurações específicas do aplicativo.
  2. startapp: Isso cria um novo aplicativo dentro do projeto. Aplicativos são componentes do seu projeto que lidam com funcionalidades específicas (por exemplo, gerenciamento de usuários).

Etapa 5. Atualizar as configurações do projeto

Todos os sistemas operacionais:

Modifique settings.py para incluir seu aplicativo e pacotes instalados.
Arquivo: auth_project/settings.py

Mastering Django: Building a Secure User Authentication API from Scratch

Explicação, vamos?:

INSTALLED_APPS: é aqui que você registra seus aplicativos e pacotes de terceiros. Aqui, você adiciona rest_framework para a funcionalidade da API, rest_framework_simplejwt para autenticação JWT e users (o aplicativo que você criou) para gerenciar tarefas relacionadas ao usuário.

Tudo bem não saber todos os passos de uma vez... só é preciso prática, você vai acertar

Espero que você esteja acompanhando...não é difícil, é complexo?
(Não sei se funcionou?)...

seguindo em frente...?
Fique de olho aqui nos caras?

Etapa 6. Criando serializadores

Arquivo: users/serializers.py

Mastering Django: Building a Secure User Authentication API from Scratch

Explicação:

  1. **Serializadores**: No Django REST Framework, serializadores são usados ​​para converter tipos de dados complexos (como modelos Django) em JSON e vice-versa.
  2. **RegisterSerializer**: Este serializador personalizado lida com o registro do usuário. Inclui campos como nome de usuário, senha, e-mail, etc.
  3. **validate_password**: garante que a senha atenda a determinados critérios de segurança.
  4. **método validar**: Validação personalizada para verificar se os dois campos de senha correspondem.
  5. Método **create**: Este método é responsável por criar e salvar o novo usuário.

Etapa 7: Criando Visualizações

Arquivo: usuários/views.py

Mastering Django: Building a Secure User Authentication API from Scratch
Explicação:

  1. **Visualizações**: No Django, as visualizações tratam da lógica para processar solicitações do usuário.
  2. **RegisterView**: esta visualização trata do registro do usuário.
  3. **CreateAPIView**: uma visualização integrada para lidar com a criação de novos registros. Aqui, é usado para criar um novo usuário.
  4. **permission_classes**: AllowAny significa que este endpoint é acessível a qualquer pessoa, até mesmo usuários não autenticados, o que é necessário para o registro.

Etapa 8: configurar URLs

Arquivo: usuários/urls.py
Este código está escrito na URL do aplicativo

Mastering Django: Building a Secure User Authentication API from Scratch

Explicação:

Padrões de URL: definem os caminhos que mapeiam para as visualizações.
**registrar/**: Este URL tratará do registro do usuário.

Em seguida, vá para o arquivo do seu projeto: **auth_project/urls.py**
e digite isto...?

Mastering Django: Building a Secure User Authentication API from Scratch

Explicação:

  1. **include('users.urls')**: inclui os URLs do aplicativo dos usuários.
  2. Visualizações JWT: TokenObtainPairView: esta visualização retorna um par de tokens de acesso e atualização. TokenRefreshView: esta visualização permite que os clientes atualizem o token de acesso usando o token de atualização.
  3. **TokenObtainPairView**: esta visualização retorna um par de tokens de acesso e atualização.
  4. **TokenRefreshView**: esta visualização permite que os clientes atualizem o token de acesso usando o token de atualização.

Até o próximo aqui você pode descansar bem?...sem pressão daqui em diante hehe..

Etapa 9: executando migrações

Comando:

Mastering Django: Building a Secure User Authentication API from Scratch

A função/objetivo de fazer isso é aplicar alterações ao esquema do seu banco de dados com base nos modelos e campos que você definiu em seu projeto. aqueles que orquestramos acima?

Ou seja, mantém o projeto atualizado

Etapa 10: executando o servidor e testando

Comando:

Mastering Django: Building a Secure User Authentication API from Scratch

Este comando inicia o servidor de desenvolvimento Django, tornando seu projeto acessível localmente. (seu porto local)

Agora vamos ver o que fizemos até agora...

Testando com Postman ou cURL (você pode baixar esta extensão do seu IDE)

Usando o Carteiro

  1. Abra o Postman (ou qualquer ferramenta de teste de API de sua preferência).

  2. Configurar uma nova solicitação

  • 1. URL: http://127.0.0.1:8000/api/auth/register/
  • 2. Método: POSTAR
  1. Na guia Corpo, selecione o formato raw e JSON.

  2. Insira os seguintes dados JSON:
    Corpo:

Mastering Django: Building a Secure User Authentication API from Scratch

  1. Clique em Enviar.

Para esta parte, o Django-Rest Framework possui uma interface de usuário amigável, então é mais fácil navegar aqui do que em outras

Se for bem-sucedido, você deverá receber uma resposta com o código de status HTTP 201 Criado e uma resposta JSON contendo os dados do usuário.

Teste o endpoint de autenticação de token

Para garantir que a autenticação JWT esteja funcionando, teste o endpoint do token.

Usando o Carteiro:

  1. Configure uma nova solicitação: Método: POSTAR URL: http://127.0.0.1:8000/api/token/
  2. Na guia Corpo, selecione o formato raw e JSON.
  3. Insira os seguintes dados JSON

Mastering Django: Building a Secure User Authentication API from Scratch

4, clique em Enviar.
Você deverá receber uma resposta JSON com tokens de acesso e atualização:

Mastering Django: Building a Secure User Authentication API from Scratch

**

Dicas para solução de problemas

**
O servidor não está iniciando: certifique-se de estar no diretório correto e de ter ativado seu ambiente virtual.
Erros de endpoint: verifique novamente seus caminhos de URL e certifique-se de que seu aplicativo Django esteja configurado corretamente com os URLs.
Respostas inválidas: verifique se os endpoints e serializadores da API estão configurados corretamente.
Seguindo essas etapas, você poderá executar com êxito seu servidor de desenvolvimento Django, testar o endpoint de registro e verificar a autenticação baseada em token.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mayowakalejaiye/mastering-django-building-a-secure-user-authentication-api-from-scratch-4ma3?1 Se houver alguma violação, entre em contato com study_golang@163 .com para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3