Development

5 простых шагов для успешной двухфакторной аутентификации

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

February 26 2015

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

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

Шаг 1: Зарегистрируйте ваше приложение

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

 

POST /2fa/1/applications HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic RkTpGSVR0lUdGVhbZWFt
Content-Type: application/json
 
{
  "name":"My BASIC app"
}

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

Узнайте больше о дополнительных настройках и расширенных возможностях использования.

Шаг 2: Создайте сообщение

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

PIN код создается как часть вашего сообщения, поэтому вы должны установить для него дополнительные настройки:

  • Тип PIN кода: тип кода, который будет сгенерирован и отправлен как часть вашего сообщения. Он может быть цифровой, буквенный или буквенно-цифровой.
  • Длина PIN кода: длина кода от 1 до 8 символов.
POST /2fa/1/applications/8F0792F86035A9F4290821F1EE6BC06A/messages HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic RkTpGSVR0lUdGVhbZWFt
Content-Type: application/json
 
{
  "pinType":"NUMERIC",
  "pinPlaceholder":"",
  "messageText":"Your pin is ",
  "pinLength":4,
  "sender":"Infobip 2FA"
}

Узнайте больше о дополнительных настройках сообщения и их использовании.

Шаг 3: Сгенерируйте API ключ

Чтобы начать генерировать и отправлять PIN коды пользователям, вам нужен действующий API ключ Infobip.

Сгенерируйте ваш API ключ данным простым способом:

POST /2fa/1/api-key HTTP/1.1
Host: oneapi.infobip.com
Authorization: Basic RkTpGSVR0lUdGVhbZWFt
Content-Type: application/json

Получите ответ:

"003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9"

Шаг 4: Генерирование PIN кода и его отправка

Если вы создали приложение для двухфакторной аутентификации (Шаг 1), сконфигурировали сообщение (Шаг 2) и получили ваш API ключ для авторизации (Шаг 3), то вы готовы генерировать и отправлять PIN коды вашим пользователям.

POST /2fa/1/pin HTTP/1.1
Host: oneapi.infobip.com
Authorization: App 003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9
Content-Type: application/json
{
  "applicationId":"6D48F9FE5FA2B679C815F8AF33282A7C",
  "messageId":"1036B771ACA7EC408772F93BC855D00A",
  "phoneNumber":"41793026727"
}
 

Ответ, который показывает, что ваш запрос прошел успешно, будет направлен вам автоматически:

{
 "to": "41793026727",
 "ncStatus": "NC_DESTINATION_REACHABLE",
 "smsStatus": "MESSAGE_SENT",
 "pinId": "9C817C6F8AF3D48F9FE553282AFA2B67"
}

Узнайте больше о дополнительных настройках отправки PIN кодов.

Шаг 5: Проверка PIN кода

Заключительным шагом является проверка правильно ли ввел пользователь PIN код, отправленный на его мобильный телефон.

Просто отправьте нам код, введенный пользователем, и мы проверим PIN:

POST /2fa/1/pin/9C817C6F8AF3D48F9FE553282AFA2B67/verify HTTP/1.1
Host: oneapi.infobip.com
Authorization: App 003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9
Content-Type: application/json
{
 "pin":"1598"
}

Если PIN введен правильно, вы получите данный ответ:

{
 "pinId": "9C817C6F8AF3D48F9FE553282AFA2B67",
 "msisdn": "41793026727",
 "verified": true,
 "attemptsRemaining": 0
}

Если PIN введен неправильно, вы получите данный ответ:

{
 "pinId": "9C817C6F8AF3D48F9FE553282AFA2B67",
 "msisdn": "41793026727",
    "verified": false,
    "attemptsRemaining": 2,
    "pinError": "WRONG_PIN"
}

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