Задать вопрос

Как сделать аутентификацию по номеру телефона?

Мне нужно сделать авторизацию/регистрацию по мобильному телефону
Не понимаю как правильно реализовать

Подрубил djoser, DRF
Делаю свою модель юзера
Но при авторизации, либо регистрации нужен пароль...
Так и еще если что-то не так, то вывод своей ошибки ты хрен сделаешь, там уже какие-то по дефолту стоят.

Хочу передать номер, потом вести смс код и выдать JWT, либо открыть сессию.

Кратко:
  1. Хочу ввести номер, потом показывать ввод СМС кода и при успешном вводе выдавать JWT, либо сессию. Но лучше JWT
  2. Если номер уже есть в БД, то авторизация, если нет, то создание нового юзера
  3. Хочу выводить свои ошибки нужного мне json формата, а не дефолтные


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

Читал про "django-phone-login" - пытался подключить, но видимо с 4 версией django вообще не дружит и куча ерроров
  • Вопрос задан
  • 1742 просмотра
Подписаться 5 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@C0uchP0tat0
Скорее всего уже не актуально, но напишу ответ на всякий случай, возможно кому-то будет полезно. Я использую библиотеку drfpasswordless. Она предлагает использовать twilio для СМС рассылки по API, но вы можете написать свою функцию для отправки СМС используя любого провайдера, который Вам нравится и подключить к библиотеке с помощью:
# configurable function for sending sms
    'PASSWORDLESS_SMS_CALLBACK': 'drfpasswordless.utils.send_sms_with_callback_token',

А так же подключить свою функцию выпуска токена авторизации:
'PASSWORDLESS_AUTH_TOKEN_CREATOR': 'drfpasswordless.utils.create_authentication_token',

А если вам очень хочется кастомизировать сообщения DRF или добавить какую то свою логику авторизации, то вы всегда можете написать свои views, а приложение использовать исключительно для создания шестизначных токенов, отправляемых по СМС и их подтверждения на стороне сервера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы