One-Time User Authentication with SMS Using Django and Twilio – Stack Overflow

Adding a homepage

To make sure that everything is in order, you are going to add a homepage to this project. The view is going to be called index, and will simply render a template. Enter the following code in core/views.py:

Configuration

  • Add app to INSTALLED_APPS:
    # In settings.py:

    INSTALLED_APPS = [
        ...
        'phone_verify',
    ]
  • Add settings in your settings.py file:
    # Settings for phone_verify
    PHONE_VERIFICATION = {
        'BACKEND': 'phone_verify.backends.twilio.TwilioBackend',
        'TWILIO_SANDBOX_TOKEN':'123456',
        'OPTIONS': {
            'SID': 'fake',
            'SECRET': 'fake',
            'FROM': ' 14755292729'
        },
        'TOKEN_LENGTH': 6,
        'MESSAGE': 'Welcome to {app}! Please use security code {otp} to proceed.',
        'APP_NAME': 'Phone Verify',
        'OTP_EXPIRATION_TIME': 3600  # In seconds only
    }
    python manage.py migrate

Creating a django project

In this step you are going to create a brand new Django web application. Enter the following commands in the same terminal you used to create and activate the virtual environment:

Django oauth toolkit

Пакет Django OAuth Toolkit обеспечивает поддержку OAuth 2.0 и работает с Python 3.4 . Пакет поддерживается Evonove и использует превосходную OAuthLib. Пакет хорошо документирован, хорошо поддерживается и в настоящее время является нашим рекомендуемым пакетом для поддержки OAuth 2.0.

Django rest framework oauth

Пакет Django REST framework OAuth обеспечивает поддержку как OAuth1, так и OAuth2 для REST framework.

Этот пакет ранее был включен непосредственно в REST framework, но теперь поддерживается и поддерживается как сторонний пакет.

Django-rest-knox

Библиотека Django-rest-knox предоставляет модели и представления для обработки аутентификации на основе токенов более безопасным и расширяемым способом, чем встроенная схема TokenAuthentication – с учетом одностраничных приложений и мобильных клиентов.

Он предоставляет токены для каждого клиента и представления для их генерации, когда предоставляется какая-либо другая аутентификация (обычно базовая аутентификация), для удаления токена (обеспечивая принудительный выход из системы с сервера) и для удаления всех токенов (выходит из системы всех клиентов, в которые вошел пользователь).

Djoser

Библиотека Djoser предоставляет набор представлений для обработки основных действий, таких как регистрация, вход в систему, выход из системы, сброс пароля и активация учетной записи. Пакет работает с настраиваемой моделью пользователя и использует аутентификацию на основе токенов. Это готовая к использованию REST-реализация системы аутентификации Django.

Drfpasswordless

drfpasswordlessdrfpasswordless добавляет (Medium, Square Cash) поддержку без пароля к собственной схеме TokenAuthentication Django REST Framework. Пользователи входят в систему и регистрируются с помощью токена, отправленного в контактную точку, например, на адрес электронной почты или номер мобильного телефона.

Installation

pip install django-phone-verify

Installation & configuration

Установите пакет с помощью pip.

pip install djangorestframework-oauth

Подробнее о настройке и использовании см. документацию OAuth фреймворка Django REST для аутентификации и permissions.

Running the application

A very basic version of the Django application is now ready to be tested. Go back to your terminal and start the web server with the following command:

Sessionauthentication

В этой схеме аутентификации для аутентификации используется серверная часть сеанса Django по умолчанию. Аутентификация сеанса подходит для клиентов AJAX, которые работают в том же контексте сеанса, что и ваш веб-сайт.

В случае успешной аутентификации SessionAuthentication предоставляет следующие учетные данные.

Verify phone verification with python and django

Phone Verification is an important, high-confidence step in a registration flow to verify that a user has the device they claim to have. Adding Twilio Verify to your application to validate new accounts will greatly reduce your number of fraudulent registrations and protect future application users from having their numbers registered by scammers.

This quickstart guides you through creating a Python, Django app that requires a Phone Verification step to create an account. Two channels of Phone Verification are demoed: SMS and Voice.

Ready to add Twilio Verify to a demo app and keep the bad actors away?

Either sign up for a free Twilio trial, or sign into an existing Twilio account.

Once logged in, visit the Verify Console. Click on the red ‘Create New Aplication’ (or big red plus (‘ ‘) if you already created one) to create a new Verify application then name it something memorable.

verify create application

Twilio will redirect you to the Settings page next:

verify reveal keys

Click the eyeball icon to reveal your Production API Key, and copy it somewhere safe. You will use the API Key during the application setup step below.

Start by cloning our Django repository. Enter the directory and use `pip` to install all of our dependencies:

  1. Open the file .env.example
  2. Change ACCOUNT_SECURITY_API_KEY to the API Key from the above step
  3. Now, savethe file as.env

Run the app migrations to get everything up to date:

That’s all the setup you’ll need.

Now, launch the application with:

Assuming your API Key is correctly entered, you’ll soon get a message that the app is up!

Keeping your phone at your side, visit the Phone Verification page of the demo at http://localhost:8000/verification/

Enter a Country Code and Phone Number, then choose which channel to request verification over, ‘SMS’ or ‘CALL’ (Voice). Finally, hit the blue ‘Request Verification’ button and wait.

Phone Verification by SMS or Voice

You’ll either receive a phone call or an SMS with the verification token. If you requested a phone call, as an additional security feature you may need to interact to proceed (enter a number on the phone keypad).

Either way you requested the passcode, enter the token into the Verification entry form and click ‘Verify Phone’:

Phone Verification Entry Box

And with that, your demo app is protected with Twilio’s Phone Verification! You can now log out to try the untried channel.

Your demo app is now keeping fraudulent users from registering with your business and polluting your database. Next, check out all of the variables and options available to you in the Phone Verification API Reference. Also, to protect your customers in an ongoing manner (with this same codebase) try the Python Django Authy Two-Factor Authentication Quickstart.

After that, visit the Docs for more Account Security demos and tutorials and web applications using all of Twilio’s products.

Похожее:  Личный кабинет Челиндбанка ib2 для физических лиц: вход, регистрация

Rate this page:

Авторизация по номеру телефона. первый запрос на ввод номера телефона | все о фреймворке джанго и его библиотеках

помогите пожалуйста, может кто-то знает как это сделать: Авторизация по номеру телефона. Первый запрос на ввод номера телефона. Имитация отправки 4-значного кода авторизации (задержка на сервере 1-2 сек). Второй запрос на ввод кода

from django.contrib.auth.models import AbstractUser, BaseUserManager
from django.db import models
from django.utils.translation import ugettext_lazy as _


class CustomUserManager(BaseUserManager):
    """Define a model manager for User model with no username field."""

    def _create_user(self, phone, password=None, **extra_fields):
        """Create and save a User with the given phone and password."""
        if not phone:
            raise ValueError('The given phone must be set')
        user = self.model(phone=phone, **extra_fields)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_user(self, phone, password=None, **extra_fields):
        extra_fields.setdefault('is_staff', False)
        extra_fields.setdefault('is_superuser', False)
        return self._create_user(phone, password, **extra_fields)

    def create_superuser(self, phone, password=None, **extra_fields):
        """Create and save a SuperUser with the given phone and password."""
        extra_fields.setdefault('is_staff', True)
        extra_fields.setdefault('is_superuser', True)

        if extra_fields.get('is_staff') is not True:
            raise ValueError('Superuser must have is_staff=True.')
        if extra_fields.get('is_superuser') is not True:
            raise ValueError('Superuser must have is_superuser=True.')

        return self._create_user(phone, password, **extra_fields)


class CustomUser(AbstractUser):
    username = None
    phone = models.IntegerField(unique=True, verbose_name='Phone Number', blank=False)

    USERNAME_FIELD = 'phone'
    REQUIRED_FIELDS = []

    objects = CustomUserManager()

    def __str__(self):
        return str(self.phone)

Авторизация по телефону | все о фреймворке джанго и его библиотеках

Нужен совет, как лучше сделать такую авторизацию

  • Пользователь вводит номер телефона;
  • Ему приходит код(имитировать);
  • После ввода кода, ему генерируется и назначается пароль;

п.с. Я начинающий “программист”, так что прошу строго не судить.
Код на python – django

Аутентификация

Аутентификация должна быть подключаемой.

— Jacob Kaplan-Moss, “REST worst practices”

Аутентификация – механизм связывания входящего запроса с набором идентифицирующих учетных данных, таких как пользователь, от которого пришел запрос, или токен, которым он был подписан. Политики разрешений и регулирования могут затем использовать эти учетные данные, чтобы определить, следует ли разрешить запрос.

REST framework предоставляет ряд схем аутентификации из коробки, а также позволяет реализовать собственные схемы.

Аутентификация всегда выполняется в самом начале представления, до того, как произойдут проверки разрешений и регулирования, а также до того, как будет разрешено выполнение любого другого кода.

Зарегистрироваться с проверкой электронной почты

Можно настроить проверку электронной почты в данный момент, когда пользовательские регистры. Это означает, что успешно зарегистрированный пользователь должен проверить почтовый ящик и подтвердить через полученное письмо, что он действительно является владельцем учетной записи электронной почты. Для этого перейдите к вашим настройкам и включите проверку электронной почты:

С этим после правильного регистрации ваше приложение отправит электронное письмо с подтверждением введенной учетной записи. Но вы не закончили: как DJ-REST-AUTH Документация Говорит, после включения проверки электронной почты необходимо добавить путь к вашим URL-адресам, которые будут использоваться представление о проверке:

Если вы этого не сделаете, вы получите Noreversematch ошибка. Кроме того, давайте будем использовать конфигурацию Django-Allauth для активации учетной записи электронной почты после того, как пользователь нажимает на ссылку, полученную в электронной почте. Добавьте это в ваши настройки:

И добавьте этот путь к файлу URL-адреса до определение DJ-REST-AUTH Путь регистрации:

# Your urls file
...
from dj_rest_auth.registration.views import VerifyEmailView, ConfirmEmailView

...

urlpatterns = [
    ...
    path(
        'dj-rest-auth/registration/account-confirm-email//',
        ConfirmEmailView.as_view(),
    ), # Needs to be defined before the registration path
    path('dj-rest-auth/registration/', include('dj_rest_auth.registration.urls')),
    path('dj-rest-auth/account-confirm-email/', VerifyEmailView.as_view(), name='account_email_verification_sent'),
    ...
]

Этот путь должен быть там, чтобы избежать ошибки шаблона в DJ-REST-AUTH. Как уже упоминалось, DJ-REST-AUTH – это программное обеспечение с открытым исходным кодом, а иногда мы можем найти некоторые ошибки. Хорошо это то, что любой может обратиться к обнаруженным ошибкам.

Имея эту конфигурацию, пользователь будет перенаправлен на страницу входа после нажатия в полученную ссылку. Не забудьте установить Login_url Параметр в ваших настройках, в противном случае вы можете получить ошибку, если значение по умолчанию не является действительным URL вашего приложения.

Во время разработки вы можете установить Login_url как конечная точка входа; Помните, что DJ-REST-AUTH имеет просмотр конечных точек благодаря Django Read Framework. Таким образом, вы можете проверить поток регистрации по настройке, например:

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

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

Когда приложение управляет аутентификацией, хорошая и стандартная реализация аутентификации по авторизации токена использует JWT (JSON WEB TOKENS) . Jwts – это хороший способ надежно передавать информацию между сторонами, потому что их можно подписать, что означает, что вы можете быть уверены, что отправители о том, кем они говорят.

Затем добавьте в настройки:

И мы хороши, чтобы пойти! У нас есть приложение, которое управляет аутентификацией с JWT.

Используя команду django manage.py

Начиная с версии 3.6.4 можно сгенерировать токен пользователя с помощью следующей команды:

Эта команда вернет токен API для данного пользователя, создав его, если он не существует:

Если вы хотите перегенерировать токен (например, если он был взломан или случилась утечка), вы можете передать дополнительный параметр:

Используя сигналы

Если вы хотите, чтобы у каждого пользователя был автоматически сгенерированный токен, вы можете просто поймать сигнал пользователя post_save.

Обратите внимание, что вам нужно убедиться, что вы поместили этот фрагмент кода в установленный модуль models.py или в другое место, которое будет импортировано Django при запуске.

Если вы уже создали несколько пользователей, вы можете сгенерировать токены для всех существующих пользователей следующим образом:

Конфигурация

Документированная установка и минимальная конфигурация DJ-Rest-Auth довольно ясна, и я не буду говорить об этом в этом сообщении в блоге. Основная идея этого раздела – рассказать вам о большом наборе возможностей, которые вы можете иметь в своем приложении Django, просто настроив пару параметров.

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

Настроить переменные, используемые в шаблонах

Давайте подумаем об этом примере: что, если вы хотите изменить URL-адрес, отправленный по умолчанию в шаблоне электронной почты сброса пароля? Ну, Django позволяет определять переменные, которые будут использоваться в шаблонах, создавая свои собственные теги шаблона. Первое, что вам нужно сделать, это определить пользовательское значение, желаемое для URL в ваших настройках:

Похожее:  Личный кабинет интернет-банка Липецккомбанк онлайн

Тогда вы должны создать два файла под MyApp/Templatetags/ : Нужно быть пустым __init__.py Файл и другой регистры и получает теги. Давайте назовем это Password_reset_template_load.py. :

Наконец, перейдите в свой индивидуальный шаблон электронной почты, который вы создали, чтобы перезаписать один по умолчанию, и загрузите определенное значение, добавив {% load password_reset_template_load%} в верхней части файла, а после этого добавьте строку, которая имеет пользовательское значение (в этом конкретном случае не забывайте UID и токен ):

С этими настройками вы определили свои пользовательские теги шаблона. Я собираюсь показать вам финальную структуру проекта со всей настройкой, о которой я говорил:

Отныне электронная почта для сброса пароля покажет индивидуальный URL. Помните, что это был пример, вы можете создать любой нужный тег шаблона и использовать его в любом шаблоне.

Настройка

Если вы кодируете API для отдыха с Django и Django Rest Restard, вам может потребоваться настроить функциональные возможности, связанные с регистрацией и аутентификацией. С этими рамками и DJ-REST-AUTH – это довольно просто. Вы можете настроить пользовательскую модель Django, представления, сериализаторы, основные функции и т. Д.

Несанкционированные и запрещенные ответы

Когда неаутентифицированному запросу отказано в выполнении, могут быть подходящими два разных кода ошибки.

Открывая эндпоинт api

При использовании TokenAuthentication вы можете захотеть предоставить клиентам механизм для получения токена с учетом имени пользователя и пароля. REST framework предоставляет встроенное представление для обеспечения такого поведения. Чтобы использовать его, добавьте представление obtain_auth_token в ваш URLconf:

Обратите внимание, что часть URL-адреса шаблона может быть любой, которую вы хотите использовать.

Пакет dj-rest-auth

Если вы являетесь разработчиком Django, и вы кодируете API отдыха с аутентификацией, вы найдете пакет DJ-REST-AUTH очень полезным. Этот проект является вилкой из django-red-auth Это больше не поддерживается. Как сказано, DJ-REST-AUTH предоставляет набор конечных точек API для отдыха для управления регистрацией пользователями и аутентификацией. После легкого Установка и настройка У вас будут конечные точки для:

  • Регистрация пользователей с дополнительной активацией.
  • Войти и выйти.
  • Получить и обновить пользовательскую модель Django.
  • Смена пароля.
  • Сброс пароля по электронной почте.
  • Аутентификация в социальных сетях.

Вам не нужно слишком много работать, чтобы иметь те функциональные возможности в вашем приложении. Кроме того, учитывая, что DJ-REST-AUTH – это пакет с открытым исходным кодом, он имеет преимущество в использовании множества программистов, которые могут найти ошибки, предложить и добавлять улучшения и т. Д.

Примечание:

Чтобы лучше понять примеры в следующих разделах:

  1. Вам нужно следовать шагам монтажа DJ-REST-AUT-AUTH.
  2. Установили Django-Allauth.
  3. Убедитесь, что у вас есть резервы аутентификации в ваших настройках:

Примечания

  1. Если во время попытки этого у вас есть ошибка, которая показывает Запрос соответствия сайта не существует. Вы можете решить это, добавив Site_id к вашим настройкам.
  2. Когда вы создаете свои собственные Templatetags, убедитесь, что основное приложение добавлено в Stall_apps Список в ваших настройках.

Пробирабизированные конечности

Благодаря Django Rest Framework, большинство конечных точек, которые предоставляет DJ-REST-AUTH, представляет собой браубиемые. Это означает, что если вы добавили пакет в ваше приложение Django, вы можете проверить эти конечные точки через браузер. В качестве примера, если вы открываете браузер и поместите URL конечной точки входа в систему, вы увидите что-то подобное:

На изображении выше вы можете ввести имя пользователя, электронную почту и пароль для проверки функциональности входа в систему. Сообщение Метод не допускается не ошибка. Это означает, что ваша конечная точка не позволяет методу получения, но вы можете проверить его сообщение.

Реализация аутентификации пользователя в django/python — разработка на

Давайте поговорим сегодня о том, как можно упростить администрирование и обеспечить двухфакторную авторизацию пользователей для более безопасной работы в Django.

Django – это фреймворк для работы с данными с использованием доступа через Web. Один из видов MVC — и называется MVT.

Нередко при реализации модуля администрирования в Django требуется передача пользователю информации о том, что ему дали доступ к серверу с указанием имени пользователя и пароля.

Для таких случаев возможна следующая реализация (использованы Centos 7, Python 2.7, Django 1.11):

Для реализации выполним следующие несложные действия:

Необходимо использовать свою модель пользователей, где будут добавлены поля (файл models.py):

  • phone(Номер телефона),
  • is_adm(пользователи поделены на админов и на обычных пользователей),
  • number (временное хранение кода доступа)

class Profile(models.Model):
username = models.OneToOneField(User)
phone = models.CharField(verbose_name=’Номер телефона’,max_length=20, unique=True, db_index=True)
is_adm = models.BooleanField(verbose_name= ‘админ’ , default= False)
number = models.CharField(verbose_name=’код’, max_length=10, blank=True)

Изменим вид формы заполнения данных о пользователе, где заранее установим значение пароля по умолчанию равным, например, ‘Aa12345678’(файл forms.py):

class UserForm(UserCreationForm):
password1 = forms.CharField(initial=’Aa12345678′,widget = forms.TextInput(
attrs={‘class’:’form-control’,’type’:’password’, ‘name’:’password’, ‘readonly’: True}), #
label=”Пароль”)
password2 = None

При открытии формы видно, что поле «Пароль» уже заполнено и недоступно для редактирования (серый цвет). Заносим остальные данные и сохраняем.

После нажатия кнопки «Сохранить», пользователь будет создан и ему на почту придет сообщение:

И мы видим, что пароль установлен отличный от пароля по умолчанию.

Это достигается при сохранении данных о пользователе (файл views.py — для нового пароля использован генератор случайных чисел):

def form_valid(self, form):
*********
passw = ‘Zz’ str(randint(100000,999999))
user.set_password(passw)
user.save()
send_mail(“Сообщение”,”Имя пользователя:{}, пароль: {}”.format(user.username, passw), settings.EMAIL_HOST_USER, [user.email],fail_silently=False)
*********

Пользователь, получив сообщение, может уже входить в систему:

Для дальнейшей возможности авторизации у пользователя будет запрошен разовый код:

Который направлен на почтовый ящик:

Или на телефон (здесь имитация реализована через сервис портала smsc.ru, с подключением файла smsc_api.py):

Пользователь вводит код:

Код реализации для отправки кода авторизации в файле views.py:,

@login_required(login_url=’/core/next’)
def next_sms(request):
if request.user.is_superuser:
title = ‘Главная’
content = {‘title’: title}
return render(request, ‘core/index.html’, content)
else:
title = ‘Код СМС’
content = {‘title’: title}
user = User.objects.get(username=request.user)
profile = Profile.objects.get(username = user.id)
#if profile.number != ”:
gen_number = randint(10000,99999)
profile.number = str(gen_number)
profile.save()
# Отправка кода на почтовый ящик
send_mail(“subject”,”Your code: {}”.format(gen_number), settings.EMAIL_HOST_USER, [user.email],fail_silently=False)
# Отправка кода на телефон
smsc = SMSC()
smsc.send_sms(profile.phone, “Your code: {}”.format(gen_number), sender = “sms”)
return render(request, ‘core/next.html’, content)

Для отправки почтовых сообщений вносим необходимые изменения в файл settings.py:

Похожее:  Личный кабинет Липецккомбанк Онлайн

EMAIL_HOST = ‘smtp’
EMAIL_PORT = 465
EMAIL_HOST_USER = “пользователь@”
EMAIL_HOST_PASSWORD = “дополнительный_пароль”
EMAIL_USE_SSL = True
SERVER_EMAIL = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

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

Резюме

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

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

Я рекомендую использовать представленный пакет, потому что он решает множество распространенных проблем и обеспечивает набор признаков, которые очень важны для большинства приложений. Может быть, в будущем вы можете не только использовать его, но и вносят вклад в него.

Оригинальный блог на Rootstrap

Руководство django часть 8: аутентификация и авторизация пользователя – изучение веб-разработки | mdn

Django предоставляет систему аутентификации и авторизации (“permission”) пользователя, реализованную на основе фреймворка работы с сессиями, который мы рассматривали в предыдущей части. Система аутентификации и авторизации позволяет вам проверять учётные данные пользователей и определять какие действия какой пользователь может выполнять. Данный фреймворк включает в себя встроенные модели для Пользователей и Групп (основной способ применения прав доступа для более чем одного пользователя), непосредственно саму систему прав доступа (permissions)/флаги, которые определяют может ли пользователь выполнить задачу, с какой формой и отображением для авторизованных пользователей, а так же получить доступ к контенту с ограниченным доступом.

Примечание: В соответствии с идеологией Django система аутентификации является очень общей и, таким образом, не предоставляет некоторые возможности, которые присутствуют в других системах веб-аутентификации. Решениями некоторых общих задач занимаются пакеты сторонних разработчиков, например, защита от подбора пароля (через стороннюю библиотеку OAuth).

В данном разделе руководства мы покажем вам реализацию аутентификации пользователя на сайте LocalLibrary, создание страниц входа/выхода, добавления разграничения доступа (permissions) к вашим моделям, а также продемонстрируем контроль за доступом к некоторым страницам. Мы будем использовать аутентификацию/авторизацию для показа пользователям и сотрудникам библиотеки, списков книг, которые были взяты на прокат.

Система аутентификации является очень гибкой и позволяет вам формировать свои собственные URL-адреса, формы, отображения, а также шаблоны страниц, если вы пожелаете, с нуля, через простой вызов функций соответствующего API для авторизации пользователя. Тем не менее, в данной статье мы будем использовать “встроенные” в Django методы отображений и форм аутентификации, а также методы построения страниц входа и выхода. Нам все ещё необходимо создавать шаблоны страниц, но это будет достаточно несложно.

Мы покажем вам как реализовать разграничение доступа (permissions), а также выполнять соответствующую проверку статусов авторизации и прав доступа, в отображениях, и в шаблонах страниц.

Сброс пароля

Если вы хотите иметь функцию сброса пароля в вашем приложении, вы можете сделать это очень легко с DJ-REST-AUTH. Первое, что нужно сказать, это то, что по умолчанию вы не можете проверить его как конечную точку просмотре, потому что она покажет Noreversematch ошибка. Таким образом, вам нужно добавить этот путь к файлу URL-адреса:

И теперь вы хотите пойти! Вы можете проверить конечную точку просмотре, которая получает электронную почту зарегистрированного пользователя, а DJ-REST-AUTH отправляет инструкции для сброса пароля. Вам нужен, конечно, настроил бэкэнд электронной почты.

Вы можете изменить шаблон электронной почты для функции сброса пароля. Предполагая, что вы уже настроили Шаблоны Папка Как и в предыдущем примере раздела, вы можете создать файл в MyApp/Шаблоны/Регистрация/ называется password_reset_email.

Как сказано в разделе проверки электронной почты, не забудьте сохранить некоторые из необходимых переменных в шаблоне. В этом случае наиболее важным является URL с UID и токен которые необходимы для обновления пароля пользователя.

Давайте посмотрим в последнем разделе, как мы можем изменить некоторые из переменных по умолчанию, используемые в шаблонах.

Сторонние пакеты

Также доступны следующие сторонние пакеты.

Уставнока и настройка

Установите пакет с помощью pip.

pip install django-oauth-toolkit

Добавьте пакет в свой INSTALLED_APPS и измените настройки вашего REST framework.

Дополнительные сведения см. в документации Django REST framework – Начало работы.

Установка схемы аутентификации

Схемы аутентификации по умолчанию могут быть установлены глобально, используя настройку DEFAULT_AUTHENTICATION_CLASSES. Например:

Вы также можете установить схему аутентификации для каждого представления или набора представлений, используя представления на основе классов APIView.

Или, если вы используете декоратор @api_view с представлениями на основе функций.

Шаблоны электронной почты

Django Allauth предлагает несколько шаблонов, которые используются DJ-Rest-Auth в момент отправки электронных писем. Как показано в предыдущем разделе, электронная почта для проверки, напечатанная в консоли, имеет шаблон, определенный пакетом Django-Allauth.

Можно настроить эти шаблоны электронной почты, перезаписывая пару файлов. Прежде всего, давайте создадим Шаблон Папка в вашей главной папке приложения Django. Отныне давайте предположим, что имя вашей главной папки приложения Django – MyApp ; Так что вам нужно добавить это в свой Шаблоны настройки:

Теперь вы должны перезаписать соответствующие файлы шаблонов для нужной настройки. В этом случае путь, используемый DJ-REST-AUTH, будет MyApp/шаблоны/аккаунт/электронная почта/ Отказ Там вы можете добавить эти файлы, чтобы перезаписать те, которые используются по умолчанию:

  • email_confirmation_message.txt.
  • email_confirmation_signup_message.txt.
  • email_confirmation_signup_subject.txt.
  • email_confirmation_subject.txt.

Например, чтобы настроить сообщение о подтверждении электронной почты, вы должны создать email_confirmation_message.txt Файл в MyApp/шаблоны/аккаунт/электронная почта/ Отказ Вы можете даже использовать некоторые из содержимого файла по умолчанию, который вы можете найти в Github Repository Django-Allauth Отказ Кроме того, вы можете установить значение для Account_email_subject_prefix.

Параметр в ваших настройках, чтобы добавить префикс на темы в электронные письма вашего приложения. Важно сказать, что в шаблонах электронной почты есть некоторые переменные, которые необходимы, и вы должны держать их в случае, если вы перезаписываете файлы. Например, это файл email_confirmation_message.txt :

Там у вас есть Activate_url. Это ссылка для подтверждения пользователя. Итак, вы можете удалить, например Название сайта Если вы хотите (или изменить его, чтобы показать другой) Но вам определенно нужно держать Activate_url ценность.

Теперь давайте посмотрим о функциональности сброса пароля и как настроить его.

Электронная почта

Django Email Backend это компонент, который обрабатывает отправку электронной почты. Вы можете выбрать среди различных возможностей, которые Django предоставляет. Наиболее распространенные являются SMTP и консоль.

Вы можете настроить SMTP-сервер, добавив:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован.

Adblock
detector