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

Сервис авторизации

Сервис авторизации (Auth) — это сервис Brainysoft, предназначенный для управления аутентификацией и авторизацией пользователей в Brainysoft. Сервис обеспечивает безопасное хранение учетных данных, выдачу токенов доступа (bsauth) и управление правами доступа через систему ролей и разрешений (scopes). Все API-сервисы Brainysoft используют токены, выданные этим сервисом, для авторизации запросов.

Инструкция по работе с сервисом авторизации Brainysoft

1. Общие сведения

Сервис авторизации предназначен для:

  • Хранения пользовательских и клиентских реквизитов.
  • Выдачи токенов доступа, которые используются для авторизации в других приложениях.

Реквизиты для обращения к сервису можно получить:

  • У сотрудников технической поддержки Brainysoft.
  • Самостоятельно через интерфейс сервиса авторизации.

2. Доступ к сервису авторизации

  • Для входа в панель администрирования требуется учетная запись, которую предоставляет администратор, развернувший сервис.

3. Создание нового пользователя

Шаги создания:

  1. Перейдите в раздел Список Client Applications.
  1. Нажмите кнопку «+» в верхнем правом углу.
  1. В открывшемся окне «Создать ClientApp» заполните следующие данные:

    Основная информация:

    • Отображаемое имя — укажите уникальное имя для пользователя.
    • Ключ BsAuth — поле будет заполнено автоматически или вручную (в зависимости от настроек).
    • ClientApp активно — переключатель, включите для активации пользователя сразу после создания.

Ресурсы:

  • Установите чекбокс «Все ресурсы доступны», если нужно предоставить доступ ко всем ресурсам.
  • Или нажмите «Добавление ресурса» и выберите конкретные ресурсы.
  • После выбора ресурса нажмите кнопку «Добавить ресурс».

Scopes (Разрешения):

  • Установите чекбокс «Все scope доступны», если нужно предоставить все разрешения.
  • Установите чекбокс «Все scope одобрены», если нужно автоматически одобрять все разрешения.
  • Или нажмите «Добавление scope» и выберите конкретные разрешения из списка:
    • core_basic — базовые разрешения.
    • admin:read — чтение административных данных.
    • admin:write — запись административных данных.
    • account:read — чтение данных аккаунта.
    • account:write — запись данных аккаунта.
    • account:pswrd — управление паролями.
    • account:totp — управление двухфакторной аутентификацией.
  • После выбора scope нажмите кнопку «Добавить scope».
  • Для одобренных scopes используйте «Добавить одобренный scope».

Роли:

  • Нажмите «Добавление роли» и выберите необходимые роли из списка. Например:
    • ADMIN — администратор.
    • MANAGER — менеджер.
    • USER — пользователь.
    • ADMIN_10, BUH_60 — специализированные роли.
  • После выбора роли нажмите кнопку «Добавить роль».

Авторизация:

  • Время жизни access токена (секунды) — укажите время жизни access токена в секундах (по умолчанию значение -1). Access токен — это токен доступа, который используется для авторизации запросов к API. Обычно имеет короткий срок жизни (например, 20 минут) для безопасности.

  • Время жизни refresh токена (секунды) — укажите время жизни refresh токена в секундах (по умолчанию значение -1). Refresh токен — это токен для обновления access токена. Используется для получения нового access токена без повторной авторизации пользователя. Обычно имеет более длительный срок жизни (например, 30 дней).

  • Нажмите «Добавить GrantType» и выберите типы авторизации из списка:

    • authorization_code — код авторизации.
    • refresh_token — обновление токена.
    • client_credentialsобязательно для получения токена доступа через API.
    • password — авторизация по паролю.
    • implicit — неявная авторизация.
  • После выбора GrantType нажмите кнопку «Добавить GrantType».

Зарегистрированные URI:

  • Нажмите «Добавить URI» и укажите URI для редиректа.
  • Это адрес, на который сервер авторизации перенаправит пользователя после успешной авторизации.
  • Например: https://{customer-key}-saas.brainysoft.ru
  1. Нажмите кнопку «Создать Client Apps».
  1. После успешного создания появится уведомление с автоматически сгенерированными данными:

    • Логин (client_id) — идентификатор клиента.
    • Пароль (client_secret) — секретный ключ клиента.

    Важно: Сохраните логин и пароль — они понадобятся для получения токена доступа к API. Эти данные отображаются только один раз при создании пользователя.

4. Дополнительная настройка в Brainysoft-Админ

После создания пользователя в сервисе авторизации необходимо выполнить дополнительные настройки:

  1. Перейдите в раздел Админ → Пользователи.
  1. Выберите созданного пользователя.

    В открывшемся разделе «Редактор пользователей» найдите созданного пользователя в таблице. Для перехода в редактирование кликните на имя пользователя в колонке «Имя» или нажмите синюю кнопку с иконкой карандаша (редактирование) в колонке «Действия».

  1. Назначьте ему роль и подразделение.

    В открывшейся форме редактирования пользователя выберите необходимые роли из доступного списка и подразделение из списка подразделений. Сохраните изменения.

5. Получение токена доступа

Для получения временного токена используйте Postman.\n

Подробное описание - API Сервиса авторизации.

Пример:

6. Двухфакторная аутентификация (2FA)

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

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

Настройка 2FA для пользователя

  1. Перейдите по ссылке в сервисе авторизации: https://{customer-key}-auth.brainysoft.ru.
  2. Авторизуйтесь, используя ваш логин и пароль от BS.
  3. В открывшемся окне найдите и нажмите кнопку «Включить 2FA».
  1. В появившемся всплывающем окне выберите приложение для аутентификации.

Настройка приложения-аутентификатора

Для сканирования QR-кода необходимо скачать одно из приложений для двухфакторной аутентификации.

Доступные приложения:

Например QR-код для сканирования приложением Google Authenticator на Android. После скачивания приложения нажмите кнопку "Далее" для продолжения настройки.

  1. В приложении на вашем личном устройстве нажмите «+»«Сканировать QR-код», который вы видите на экране вашего монитора в сервисе авторизации.
  2. После сканирования на вашем личном устройстве появится учетная запись и код для авторизации.
  3. Введите код в поле «TOTP (одноразовый код)» в сервисе авторизации. Нажмите «Проверить и включить».
  1. После успешного включения двухфакторной аутентификации появится окно с сообщением. Следующий вход в Brainysoft система запросит логин, пароль и код из приложения-аутентификатора.

Просмотр статуса 2FA у пользователей

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

Отключение 2FA для пользователя

Если у пользователя нет доступа к устройству (например, потерял телефон), на котором у него установлено приложение, с которого приходит код, то администратор может отключить 2FA для подключения повторно на другом устройстве двухфакторной аутентификации.