Сервис авторизации
Сервис авторизации (Auth) — это сервис Brainysoft, предназначенный для управления аутентификацией и авторизацией пользователей в Brainysoft. Сервис обеспечивает безопасное хранение учетных данных, выдачу токенов доступа (bsauth) и управление правами доступа через систему ролей и разрешений (scopes). Все API-сервисы Brainysoft используют токены, выданные этим сервисом, для авторизации запросов.
Инструкция по работе с сервисом авторизации Brainysoft
1. Общие сведения
Сервис авторизации предназначен для:
- Хранения пользовательских и клиентских реквизитов.
- Выдачи токенов доступа, которые используются для авторизации в других приложениях.
Реквизиты для обращения к сервису можно получить:
- У сотрудников технической поддержки Brainysoft.
- Самостоятельно через интерфейс сервиса авторизации.
2. Доступ к сервису авторизации
- Ссылка на сервис авторизации: https://{customer-key}-auth.brainysoft.ru
- Для входа в панель администрирования требуется учетная запись, которую предоставляет администратор, развернувший сервис.
3. Создание нового пользователя
Шаги создания:
- Перейдите в раздел Список Client Applications.
- Нажмите кнопку «+» в верхнем правом углу.
-
В открывшемся окне «Создать 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
- Нажмите кнопку «Создать Client Apps».
-
После успешного создания появится уведомление с автоматически сгенерированными данными:
- Логин (
client_id) — идентификатор клиента. - Пароль (
client_secret) — секретный ключ клиента.
Важно: Сохраните логин и пароль — они понадобятся для получения токена доступа к API. Эти данные отображаются только один раз при создании пользователя.
- Логин (
4. Дополнительная настройка в Brainysoft-Админ
После создания пользователя в сервисе авторизации необходимо выполнить дополнительные настройки:
- Перейдите в раздел Админ → Пользователи.
-
Выберите созданного пользователя.
В открывшемся разделе «Редактор пользователей» найдите созданного пользователя в таблице. Для перехода в редактирование кликните на имя пользователя в колонке «Имя» или нажмите синюю кнопку с иконкой карандаша (редактирование) в колонке «Действия».
-
Назначьте ему роль и подразделение.
В открывшейся форме редактирования пользователя выберите необходимые роли из доступного списка и подразделение из списка подразделений. Сохраните изменения.
5. Получение токена доступа
Для получения временного токена используйте Postman.\n
Подробное описание - API Сервиса авторизации.
Пример:
6. Двухфакторная аутентификация (2FA)
В сервисе доступна двухфакторная аутентификация — дополнительный уровень защиты, который не даст получить доступ к вашим данным, даже если злоумышленники узнают ваш пароль.
Принцип работы прост: после ввода пароля система будет запрашивать одноразовый код подтверждения. Этот код можно получить только с вашего личного устройства.
Настройка 2FA для пользователя
- Перейдите по ссылке в сервисе авторизации: https://{customer-key}-auth.brainysoft.ru.
- Авторизуйтесь, используя ваш логин и пароль от BS.
- В открывшемся окне найдите и нажмите кнопку «Включить 2FA».
- В появившемся всплывающем окне выберите приложение для аутентификации.
Настройка приложения-аутентификатора
Для сканирования QR-кода необходимо скачать одно из приложений для двухфакторной аутентификации.
Доступные приложения:
- 2FAS - открытое ПО, поддерживаемое сообществом, приватное и простое решение для защиты от утечек безопасности.
- iOS: Скачать из App Store.
- Android: Скачать из Google Play.
- Google Authenticator - программный аутентификатор от Google.
- iOS: Скачать из App Store.
- Android: Скачать из Google Play.
Например QR-код для сканирования приложением Google Authenticator на Android. После скачивания приложения нажмите кнопку "Далее" для продолжения настройки.
- В приложении на вашем личном устройстве нажмите «+» → «Сканировать QR-код», который вы видите на экране вашего монитора в сервисе авторизации.
- После сканирования на вашем личном устройстве появится учетная запись и код для авторизации.
- Введите код в поле «TOTP (одноразовый код)» в сервисе авторизации. Нажмите «Проверить и включить».
- После успешного включения двухфакторной аутентификации появится окно с сообщением. Следующий вход в Brainysoft система запросит логин, пароль и код из приложения-аутентификатора.
Просмотр статуса 2FA у пользователей
Администратор может просмотреть, у каких пользователей включена 2FA. Если галочка не проставлена, двухфакторная аутентификация у пользователя не включена.
Отключение 2FA для пользователя
Если у пользователя нет доступа к устройству (например, потерял телефон), на котором у него установлено приложение, с которого приходит код, то администратор может отключить 2FA для подключения повторно на другом устройстве двухфакторной аутентификации.
