Перейти к основному содержимому

Аутентификация и авторизация через номер телефона

В системе LiveStack аутентификация и авторизация пользователей осуществляется через номер телефона. Этот процесс гарантирует высокий уровень безопасности и удобства для пользователей.

1. Аутентификация через номер телефона

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

Шаг 1: Ввод номера телефона

Пользователь вводит свой номер телефона в соответствующее поле на странице входа в систему. Номер телефона является уникальным идентификатором для каждого пользователя.

Шаг 2: Отправка одноразового кода (OTP)

После ввода номера телефона на сервер отправляется запрос на генерацию одноразового пароля (OTP). OTP — это временный код, который действует в течение ограниченного времени (например, 5 минут) и отправляется на указанный номер телефона.

Шаг 3: Ввод OTP

Пользователь получает OTP на свой телефон (через SMS) и вводит его в соответствующее поле на странице входа.

Шаг 4: Проверка OTP и аутентификация

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

2. Авторизация

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

Шаг 1: Проверка роли пользователя

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

  • Администратор: имеет доступ к полному функционалу системы.
  • Пользователь: имеет доступ только к своему набору функций и проектов.

Шаг 2: Ролевое управление доступом (RBAC)

Система использует модель RBAC (Role-Based Access Control) для управления правами доступа. В зависимости от роли пользователя ему могут быть предоставлены или ограничены доступ к различным сервисам, функциям и данным.

Шаг 3: Авторизация через токены

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

  • Содержит информацию о пользователе (ID, роль, права доступа).
  • Действует в течение определённого времени.
  • Используется для проверки прав пользователя при доступе к защищённым ресурсам.

Шаг 4: Хранение и передача токенов

После аутентификации и авторизации токен сохраняется на стороне клиента (например, в localStorage или sessionStorage) или передается через HTTP-заголовки в API-запросах. Для доступа к защищённым маршрутам или API-запросам сервер проверяет переданный токен, чтобы убедиться, что у пользователя есть соответствующие права.

3. Важные моменты аутентификации и авторизации

Безопасность

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

  • SMS: OTP отправляется через защищенный канал связи, используя стандартные протоколы безопасности.
  • TLS/SSL: Все данные между клиентом и сервером передаются через защищённые каналы (HTTPS).
  • JWT: Токены, которые используются для авторизации, подписываются с использованием криптографических алгоритмов, что делает их подделку невозможной.

Учетная запись и восстановление доступа

В случае потери доступа к номеру телефона или проблем с OTP, пользователь может инициировать восстановление доступа через альтернативные методы, такие как:

  • Восстановление через электронную почту.
  • Обращение в поддержку для восстановления номера телефона.

4. Преимущества системы аутентификации и авторизации через номер телефона

  • Простота: Вход через номер телефона не требует запоминания паролей, что упрощает процесс аутентификации.
  • Безопасность: OTP гарантирует, что доступ получит только тот, кто имеет физический доступ к номеру телефона.
  • Гибкость: Легко интегрируется с различными внешними сервисами и API для управления доступом.
  • Масштабируемость: Система может масштабироваться для работы с тысячами пользователей и позволяет гибко настраивать права доступа на основе ролей.

Пример рабочего процесса аутентификации и авторизации через номер телефона:

  1. Пользователь вводит номер телефона.
  2. Система генерирует и отправляет OTP.
  3. Пользователь вводит OTP, который проверяется системой.
  4. После успешной проверки система определяет роль пользователя.
  5. Пользователь получает токен, который будет использоваться для доступа к защищённым ресурсам.