Django Rest + FireBase для аутентификации телефонного номера с OTP
Привет всем У меня нет много кода, чтобы показать, так как мне трудно получить знания относительно аутентификации номера телефона на firebase. История такова: я не использую базу данных firebase, мои клиенты могут быть международными, поэтому я хочу использовать минимальный механизм аутентификации для отправки otp кодов, и мы пришли к firebase как к окончательному решению, так как он позволяет отправлять 10000 смс в месяц и удовлетворяет наши потребности. Документация, которую я нашел в интернете, полностью основана на базе данных firebase, где front end напрямую обращается к базе данных firebase и backend даже не нужно заботиться в таких обстоятельствах.
Я просто хочу проверить код otp пользователя и предоставить токен обновления и токен доступа с помощью простого jwt (я не знаю, правильно ли это или нет) Я нашел только два лучших документа или статьи, которые лучше всего соответствуют моим требованиям. Статья 1
Это моя пользовательская модель пользователя
class User(AbstractBaseUser, PermissionsMixin):
CLIENT=1
DATA_ENTRY=2
ROLE_CHOICES = (
(CLIENT, 'CLIENT'),
(DATA_ENTRY, 'DATA_ENTRY')
)
phone_number = models.CharField(_("phone number"), max_length=60, unique=True)
first_name = models.CharField(_("first name"), max_length=150, blank=True)
middle_name = models.CharField(_("middle name"), max_length=150, blank=True)
last_name = models.CharField(_("last name"), max_length=150, blank=True)
role = models.PositiveSmallIntegerField(choices=ROLE_CHOICES, blank=True, default=1)
email = models.EmailField(_("email address"), blank=True)
is_staff = models.BooleanField(
_("staff status"),
default=False,
help_text=_("Designates whether the user can log into this admin site."),
)
is_active = models.BooleanField(
_("active"),
default=False,
help_text=_(
"Designates whether this user should be treated as active. "
"Unselect this instead of deleting accounts."
),
)
date_joined = models.DateTimeField(_("date joined"), default=timezone.now)
USERNAME_FIELD = "phone_number"
REQUIRED_FIELDS = []
Будет огромная помощь, если кто-нибудь сможет направить меня через это, спасибо сообществу.