Ukraine flag

We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit this page

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

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

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


Для начала, рассмотрим основные используемые термины:

  • Аутентификация — процесс установления, действительно ли пользователь является тем, за кого себя выдает.
  • ОТР — (англ. One-Time Password) одноразовый пароль, действительный только для одного сеанса аутентификации.
  • Токен — устройство для генерации одноразового пароля.
  • Ресурс — отображает проект или систему, которая должна быть защищена двухфакторной аутентификацией. Служит средством логического объединения и группировки пользователей, токенов и задания для них общих правил доступа к системе. Например, у Вас есть два сайта: интернет-магазин и сайт Вашей компании. Вам необходимо создать два ресурса, которые будут представлять два этих сайта, чтобы разделить пользователей между ними и задать определенные правила доступа.

Понимание принципов работы нашей системы значительно ускорит длительность процесса интеграции. Рассмотрим основные из них.

Общие правила:

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

Администрирование:

  • Главному администратору (superuser) доступны все действия в системе, кроме редактирования и удаления токенов, которые используются другими администраторами для входа в систему.
  • Остальные администраторы имеют доступ к системе в пределах ресурсов, к которым им разрешен доступ. В дополнение к этому, администраторы видят текущий баланс, но не имеют доступа к финансовому модулю, не могут менять тарифный план, видеть историю пополнений и списаний.
  • Пользователи, токены и фильтры доступны для всех администраторов, но удалить эти объекты может только главный администратор, либо администратор их создавший.

Аутентификация пользователей на Вашем ресурсе

Аутентификация пользователя всегда проводится для определенного ресурса, следовательно пользователь должен быть назначен на ресурс, к которому он должен иметь доступ. Если пользователь не назначен на ресурс — пользователь не имеет к нему доступа. Способ назначения пользователя на ресурс зависит от выбранного способа аутентификации. Protectimus поддерживает несколько способов аутентифицировать пользователя:

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

    Обратите внимание: Protectimus принимает все меры по обеспечению безопасного хранения паролей Ваших пользователей и никогда не будет использовать их в целях отличных от их прямого предназначения. Больше информации по данному вопросы Вы найдете на странице PRIVACY POLICY.
  2. Аутентификация пользователя по одноразовому паролю. Для этого у пользователя должен быть токен, и пользователь должен быть назначен на ресурс ВМЕСТЕ с токеном. Назначение на ресурс отдельно пользователя и отдельно токена будет неправильным для работы этого метода.
  3. Аутентификация пользователя по статическому и одноразовому паролю. Является комбинацией двух вышеописанных методов. Пользователь должен быть назначен на ресурс ВМЕСТЕ с токеном. У пользователя должен быть задан пароль. Если токен пользователя будет отключен, то проверка ОТР выполняться не будет, в таком случае будет проверен только статический пароль и проходит ли пользователь фильтры, если они существуют.
  4. Аутентификация токена на ресурсе. Этот способ позволяет не привязывать токен к какому-то конкретному пользователю и просто проверять валидность сгенерированного одноразового пароля. При использовании этого способа токен должен быть назначен на ресурс.

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

Интеграция

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

  1. Интеграция через API. Для интеграции через API мы предоставляем набор вспомогательных библиотек для следующих языков программирования: Java, Python, и PHP. Если же для Вашего языка программирования клиент еще не предложен, Вы можете использовать полное описание всех методов API, доступное по данной ссылке.
  2. Использование IFrame-виджета для аутентификации пользователей.
Обратите внимание: Для Вашего удобства на домашней странице сервиса представлен список действий, который нужно выполнить для интеграции с нашим сервисом. Проверьте, ничего ли Вы не забыли.