Перейти к содержанию

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

В данном разделе подробно описана работа с каждым видом авторизации. Возможно комбинировать разные типы авторизации и аутентификации – OTP + OAuth2, OTP + 2FA (второй фактор) + OAuth2.

{% hint style="info" %} Для онлайн записи не требуется авторизация.
Если вам нужна только онлайн запись без получения данных пользователя вам нет необходимости настраивать авторизацию. {% endhint %}

Самый простой тип авторизации – через долгоживущий токен (long-live token aka API_KEY). Для этого вам фактически не нужно писать программный код. Она используется для работы с API GBooking админастраторами БекОфиса. Доступ предоставляется на все данные бизнеса. Нельзя использовать этот тип авторизации для клиентских приложений.

Role-based access control (RBAC)

Для доступа к API используются контрольные списки доступа, предустановленные для каждой роли. Есть 3 роли доступа:

  • гость (guest)
  • клиент (client)
  • администратор (admin)

Список методов GBooking API, сгруппированных по сущностям, доступен по ссылке.

Пользователь с ролью "client" имеет право вызывать методы с доступом "client" и "guest". Пользователь с ролью "admin" имеет право вызывать методы с доступом "admin", "client" и "guest".

Описание данных

Типы данных доступные для пользователя:

  • профиль пользователя
  • список записей
  • статистика по записям пользователя

Так же вы можете использовать публичные методы API для онлайн записи, которые доступны без авторизации.

Типы данных доступные для администратора бизнеса:

  • список всех записей в рамках одного филиала или сети
  • пользователи в рамках одного филиала или сети
  • работники
  • услуги
  • скидки
  • расписание работников
  • другие сущности будут появляться в документации со временем

В контексте OAuth 2 документации мы можем говорить про предоставление доступа к этим сущностям для конкретного администратора. Впрочем, если эти же типы данных нужны для работы внешней серверной информационной системы (интеграция) вы можете получить через Long-live Token.

Есть несколько механизмов авторизации в системе в зависимости от целей, которые вы преследуете.

Long-live Token

Авторизация через долгоживущий токен, использует сгенерированные в БекОфисе user, password. Служит для получения данных бизнеса через API.

OTP (One-time Password)

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

2FA

Двухфакторная аутентифакация. Служит для проверки достоверности данных пользователя.

Описание данного механизма верификации пользователей скоро появится в этом разделе.

OAuth 2

OAuth 2 авторизация применяется в случае, когда нужно предоставить доступ пользователю к уже существующим своим данным через клиентское приложение (мобильное или веб-приложение).

Кроме перечисленных выше способов есть еще взаимодействие с сервером ЭМК, подробно описанное в соответствующем разделе документации.