«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Освоение Django: создание безопасного API аутентификации пользователей с нуля

Освоение Django: создание безопасного API аутентификации пользователей с нуля

Опубликовано 31 августа 2024 г.
Просматривать:463

``## День 4
Прошло уже четыре дня с начала конкурса #100daysofMiva. ???

? Погрузитесь в Django: Создание безопасного API аутентификации пользователей с нуля!

Готовы ли вы поднять свои навыки работы с Django на следующий уровень? ? В этом уроке я расскажу вам, как создать надежный API аутентификации пользователей с помощью Django. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, это пошаговое руководство поможет вам настроить регистрацию пользователей, вход в систему и аутентификацию на основе токенов.

К концу этого занятия вы получите четкое представление о том, как:

  1. Настройте проект Django и настройте необходимые пакеты
  2. Создание и настройка сериализаторов для пользовательских данных
  3. Создайте представления для обработки регистрации и аутентификации пользователей
  4. Реализация аутентификации на основе токенов для безопасного доступа к API
  5. Присоединяйтесь к нам, мы превратим чистый холст в мощную систему аутентификации и откроем новые возможности в вашем путешествии по Django! ??

Давайте займемся программированием! ?✨

Mastering Django: Building a Secure User Authentication API from Scratch

Шаг 1. Настройте среду Django:

Для этого у вас должен быть установлен python: убедитесь, что Python установлен, выполнив:
macOS/Linux:
Python часто предустановлен. Вы можете проверить, выполнив:
Mastering Django: Building a Secure User Authentication API from Scratch
или
Mastering Django: Building a Secure User Authentication API from Scratch
При необходимости установите Python через Homebrew (macOS) или менеджер пакетов (Linux):
Mastering Django: Building a Secure User Authentication API from Scratch

Окна:

  • Загрузите и установите Python с сайта python.org.
  • Убедитесь, что вы установили флажок, чтобы добавить Python в PATH во время установки.

Шаг 2. Настройте виртуальную среду:

macOS/Linux:

Создайте и активируйте виртуальную среду:

Mastering Django: Building a Secure User Authentication API from Scratch

Окна:

Создайте и активируйте виртуальную среду:

Mastering Django: Building a Secure User Authentication API from Scratch

Шаг 3. Установите Django и пакеты

Теперь, что такое фреймворк без пакетов?... давайте установим пакеты, которые нам понадобятся.?
При активированной виртуальной среде команды для установки Django и дополнительных пакетов одинаковы во всех операционных системах:

Mastering Django: Building a Secure User Authentication API from Scratch
Объяснение:
`

  1. djangorestframework: это мощный и гибкий набор инструментов для создания веб-API с помощью Django.
  2. djangorestframework-simplejwt: этот пакет обеспечивает аутентификацию JSON Web Token (JWT), которая обычно используется для безопасной аутентификации API.

Шаг 4. Создайте и настройте проект Django.

macOS/Linux/Windows:

Создайте проект и приложение Django:

Mastering Django: Building a Secure User Authentication API from Scratch
давайте упростим необходимые вещи:

  1. startproject1: эта команда создает новый проект Django. Проект — это набор настроек для экземпляра Django, включая конфигурацию базы данных, параметры, специфичные для Django, и настройки, специфичные для приложения.
  2. startapp: в проекте создается новое приложение. Приложения — это компоненты вашего проекта, которые выполняют определенные функции (например, управление пользователями).

Шаг 5. Обновите настройки проекта

Все ОС:

Измените файл settings.py, включив в него ваше приложение и установленные пакеты.
Файл: auth_project/settings.py

Mastering Django: Building a Secure User Authentication API from Scratch

Необходимо объяснение?:

INSTALLED_APPS: здесь вы регистрируете свои приложения и сторонние пакеты. Здесь вы добавляете rest_framework для функциональности API, rest_framework_simplejwt для аутентификации JWT и пользователей (созданное вами приложение) для управления задачами, связанными с пользователем.

Ничего страшного, если вы не знаете всех шагов сразу… просто нужна практика, и вы все поймете правильно

Надеюсь, вы следите... это не сложно, это сложно?
(Я не знаю, сработало ли это?)...

продолжаем...?
Следите отсюда за ребятами?

Шаг 6. Создание сериализаторов

Файл:users/serializers.py

Mastering Django: Building a Secure User Authentication API from Scratch

Объяснение:

  1. **Сериализаторы**. В Django REST Framework сериализаторы используются для преобразования сложных типов данных (например, моделей Django) в JSON и наоборот.
  2. **RegisterSerializer**: этот пользовательский сериализатор обрабатывает регистрацию пользователей. Он включает в себя такие поля, как имя пользователя, пароль, адрес электронной почты и т. д.
  3. **validate_password**: гарантирует, что пароль соответствует определенным критериям безопасности.
  4. **метод проверки**: пользовательская проверка для проверки совпадения двух полей пароля.
  5. Метод **create**: этот метод отвечает за создание и сохранение нового пользователя.

Шаг 7: Создание представлений

Файл:users/views.py

Mastering Django: Building a Secure User Authentication API from Scratch
Объяснение:

  1. **Представления**. В Django представления управляют логикой обработки запросов пользователей.
  2. **RegisterView**: это представление управляет регистрацией пользователей.
  3. **CreateAPIView**: встроенное представление для управления созданием новых записей. Здесь он используется для создания нового пользователя.
  4. **permission_classes**: AllowAny означает, что эта конечная точка доступна любому, даже неаутентифицированным пользователям, что необходимо для регистрации.

Шаг 8. Настройка URL-адресов

Файл: user/urls.py
Этот код записан в URL-адресе приложения

Mastering Django: Building a Secure User Authentication API from Scratch

Объяснение:

Шаблоны URL: они определяют пути, сопоставляемые с представлениями.
**register/**: этот URL-адрес будет обрабатывать регистрацию пользователя.

Затем перейдите в файл вашего проекта: **auth_project/urls.py**
и напечатайте это...?

Mastering Django: Building a Secure User Authentication API from Scratch

Объяснение:

  1. **include('users.urls')**: сюда входят URL-адреса приложений пользователей.
  2. Просмотры JWT: TokenObtainPairView: это представление возвращает пару токенов доступа и обновления. TokenRefreshView: это представление позволяет клиентам обновлять токен доступа с помощью токена обновления.
  3. **TokenObtainPairView**: это представление возвращает пару токенов доступа и обновления.
  4. **TokenRefreshView**: это представление позволяет клиентам обновлять токен доступа с помощью токена обновления.

До следующего здесь ты сможешь хорошо отдохнуть?...с этого момента никакого давления, хе-хе..

Шаг 9. Запуск миграции

Команда:

Mastering Django: Building a Secure User Authentication API from Scratch

Функция/цель этого заключается в том, что он применяет изменения к схеме вашей базы данных на основе моделей и полей, которые вы определили в своем проекте. те, которые мы организовали выше?

Другими словами, он поддерживает актуальность проекта

Шаг 10. Запуск сервера и тестирование

Команда:

Mastering Django: Building a Secure User Authentication API from Scratch

Эта команда запускает сервер разработки Django, делая ваш проект доступным локально. (ваш местный порт)

Теперь давайте посмотрим, что мы уже сделали...

Тестирование с помощью Postman или cURL (вы можете загрузить это расширение из своей IDE)

Использование Postman

  1. Откройте Postman (или любой другой инструмент тестирования API, который вы предпочитаете).

  2. Создать новый запрос

  • 1. URL-адрес: http://127.0.0.1:8000/api/auth/register/
  • 2. Метод: POST
  1. На вкладке «Тело» выберите формат RAW и JSON.

  2. Введите следующие данные JSON:
    Тело:

Mastering Django: Building a Secure User Authentication API from Scratch

  1. Нажмите «Отправить».

В этой части Django-Rest Framework имеет дружественный пользовательский интерфейс, поэтому здесь легче ориентироваться, чем на других

В случае успеха вы должны получить ответ с кодом статуса HTTP 201 Created и ответ JSON, содержащий пользовательские данные.

Проверьте конечную точку аутентификации токена

Чтобы убедиться, что аутентификация JWT работает, проверьте конечную точку токена.

Использование Postman:

  1. Создайте новый запрос: Метод: ПОСТ URL-адрес: http://127.0.0.1:8000/api/token/
  2. На вкладке «Тело» выберите формат RAW и JSON.
  3. Введите следующие данные JSON

Mastering Django: Building a Secure User Authentication API from Scratch

4, нажмите «Отправить».
Вы должны получить ответ в формате JSON с токенами доступа и обновления:

Mastering Django: Building a Secure User Authentication API from Scratch

**

Советы по устранению неполадок

**
Сервер не запускается. Убедитесь, что вы находитесь в правильном каталоге и активировали виртуальную среду.
Ошибки конечных точек: дважды проверьте пути URL-адресов и убедитесь, что ваше приложение Django правильно настроено с URL-адресами.
Недопустимые ответы: убедитесь, что конечные точки API и сериализаторы настроены правильно.
Выполнив эти шаги, вы сможете успешно запустить сервер разработки Django, протестировать конечную точку регистрации и проверить аутентификацию на основе токенов.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/mayowakalejaiye/mastering-django-building-a-secure-user-authentication-api-from-scratch-4ma3?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .com, чтобы удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3