Администрирование
Содержание
- Создание учетной записи администратора
- Роли и разрешения
- Настройка привязки ролей
- Управление пользователями
- Общие настройки
- Авторизация OAuth2
Учетная запись администратора
Для первичного входа в ЛК под учетной записью администратора, необходимо пройти саморегистрацию (см. раздел «Самостоятельная регистрация в личном кабинете»).
После регистрации в директории приложения выполнить команду:
php artisan tandem:create-admin <email>
В разделе управления пользователями доступна функция назначения роли администратора зарегестрированным пользователям.
Роли и разрешения
Перечень ролей находится в меню «Администрирование | Авторизация | Роли»
.
На странице отображены все доступные роли, для них можно настроить разрешения и удалить.
Для добавления новой роли необходимо нажать «+ Добавить»
заполнить необходимые поля и нажать «Создать»
.
Настройка разрешений для роли
Для настройки разрешений для ролей необходимо нажать на кнопку с карандашом в столбце «Действия» и в открывшемся списке прав отметить нужные. Все назначенные для роли разрешения будут применяться к пользователям с данной ролью.
Перечень разрешений доступен в меню «Администрирование | Авторизация | Разрешения»
.
Назначение ролей для конкретных пользователей осуществляется в «Администрирование | Пользователи».
Настройка привязки ролей
Платформа личных кабинетов поддерживает самостоятельную регистрацию пользователей.
В случае, если пользователь является обучающимся или работником и имеет учетную карточку (запись персоны) в системе ТАНДЕМ.Университет, ему необходимо выполнить действия по привязке своего личного кабинета к данным ТАНДЕМ.Университет.
Для подтверждения подлинности пользователя, запрашивающего привязку данных в личном кабинете можно настроить порядок привязки ролей.
Для осуществления настройки необходимо войти в систему под учетной записью администратора, перейти в раздел «Администрирование | Настройки | Получение ролей»
.
В разделе «Настройки получения ролей» отображаются все пользовательские роли, доступные для работы. Для каждой роли можно настроить свой порядок привязки. Для настройки порядка привязки роли, необходимо нажать на символ редактирования справа от необходимой роли. Откроется карточка настройки привязки для роли.
С помощью чекбоксов необходимо выбрать данные, которые ЛК будет запрашивать у пользователя в виджете привязки ролей. Выбор необходимо осуществлять с учетом данных, которые хранятся в системе и их полноты. Сделанная настройка должна обеспечивать возможность однозначной идентификации пользователя.
Необязательные для выбора параметры, по которым будет производиться подтверждение получения роли
- фамилия;
- имя;
- отчество.
Требуется выбрать хотя бы один параметр, по которому будет производиться подтверждение получения роли
- дата рождения;
- последние 4 цифры паспорта;
- СНИЛС;
- ИНН;
- номер зачетной книжки;
- табельный номер.
Дополнительные настройки
- описание.
С помощью поля «Описание» в блоке «Дополнительные настройки» можно задать текст, который будет отображаться у пользователя в виджете привязки роли.
На вкладке «Порядок параметров»
можно установить порядок вывода параметров.
Управление пользователями
Для работы с разделом управления пользователями платформы личных кабинетов необходимо авторизоваться под учетной записью с правами администратора. Для перехода в раздел с перечнем пользователей необходимо выбрать раздел «Администрирование | Пользователи»
.
Отображаемый перечень может быть отфильтрован по следующим полям:
- фамилия;
- имя;
- отчество;
- роль;
- администратор.
Все пользователи системы отображаются в таблице с выводом аватара, фамилии, имени, отчества, email, списком привязанных ролей, данных о наличии прав администратора и дат создания и обновления учетной записи.
Состояние подтверждения почты
В списке пользователей ЛК реализовано отображение состояния подтверждения электронной почты. Зеленый значок напротив почты пользователя в списке означает, что email подтвержден. Если значка нет - пользователь не подтвердил email.
Статус пользователя
Также в разделе можно узнать статус пользователя - онлайн/оффлайн. Статус выводится рядом с аватаркой пользователя в списке и в карточке пользователя. Если горит зеленый кружок - пользователь онлайн, красный - оффлайн.
Для перехода в карточку пользователя необходимо нажать на его ФИО.
В карточке пользователя доступны следующие подразделы:
- Пользователь - на карточке пользователя отображаются данные о его электронной почте, телефоне и дате рождения. Доступна функциональность, позволяющая осуществить вход в систему от имени пользователя.
На карточке доступна функция назначения прав администратора пользователю. - Роли и разрешения - на вкладках с помошью кнопкок
«Добавить»
можно назначить роли для пользователя и выдать разрешения. - Безопасность - реализована возможность смены пароля пользователя.
Общие настройки
Для настройки платформы личных кабинетов необходимо авторизоваться под учетной записью с правами администратора.
Для перехода в раздел общих настроек приложения необходимо выбрать «Администрирование | Настройки | Общие»
.
- Логотип - выбор картинки, которая отображается на форме авторизации и в верхнем меню приложения. При выборе картинки доступно кадрирование изображения. Изображение до 500Кб.
- Название приложения - название, отображаемое в закладке браузера.
- URL - доменное имя приложения.
- Иконка - изображение отображаемое в закладке браузера (favicon).
- Режим работы ЛКА - одна или несколько образовательных организаций (филиалов) ведут прием документов на поступление.
- Разрешить подключение одного стенда к разным ОО. Включенная настройка позволяет подключать один стенд ТАНДЕМ.Университет для разных образовательных организаций, созданных в ЛК. Если настройка выключена, для каждой ОО должны быть подключены разные стенды.
- Пользовательские скрипты.
Возможность подключения пользовательских скриптов. (Код необходимо вставлять в теге
<script></script>
, возможно добавление нескольких блоков).
Настройка почты
- Почтовый сервер.
- Порт.
- Имя пользователя.
- Пароль.
- Шифрование.
- Адрес отправителя.
- От кого.
Поддержка пользователей
Форма обращения в техническую поддержку
Опция отправки обращений на странице авторизации.
- E-mail поддержки*.
- Название ссылки (по умолчанию
«Поддержка»
)*. - Текст подсказки (по умолчанию «Обязательно укажите ФИО, группу, e-mail и текст обращения»).
- Включить форму технической поддержки (кнопка включения опции).
Если функция включена, на странице авторизации под кнопкой «Войти»
отображается кнопка «'Название ссылки'»
с помощью которой открывается форма отправки письма на указанный в настройках e-mail.
Пользователю необходимо заполнить:
- Тему обращения.
- E-mail.
- Текст обращения (выводится текст указанной в настройках подсказки), текст обращения не должен превышать 2048 символов.
Кнопкой «отправить»
пользователь направляет обращение на указанный в настройках e-mail.
Инструкция пользователя
На странице авторизации отображает ссылку на указанный ресурс.
- Название ссылки (по умолчанию
«Инструкция»
)*. - Ссылка на инструкцию*.
- Отображать ссылку на инструкцию (кнопка включения отображения инструкции).
Настройки интерфейса
Опция отключения виджета привязки ролей пользователей. Необходима, в случае, если личный кабинет используется в автономном режиме и необходимо скрыть от пользователей функциональность привязки ролей.
Восстановление пароля на странице авторизации
Для отображения функции восстановления пароля на странице авторизации необходимо в терминале выполнить следующую команду:
php artisan tandem:publish --views
Управление пользователями
- Разрешить самостоятельное удаление.
При включенной опции пользователи смогут удалять свои учетные записи, без возможности восстановления. - Включить двухфакторную аутентификацию.
Пользователю в разделе личных данных будет доступен виджет включения двухфакторной аутентификации для совей учетной записи. Разрешить изменять ФИО.
У пользователей будет возможность изменять свое ФИО.Разрешить вход без регистрации.
Включенная настройка позволяет осуществлять вход в ЛК без регистрации для доступа к спискам поступающих, конкурсным спискам и поиску абитуриентов. На форме авторизации будет доступна кнопка«Войти без регистрации»
.
Авторизация OAuth2
Подключение клиента
Для настройки авторизации OAuth2 необходимо:
- Прописать команду для установки пакетов:
composer install
- Прописать команду команду для установки
Laravel/passport
:
php artisan passport:install
- Прописать команду:
php artisan tandem:publish
- Почистить кеш:
php artisan route:clear
Далее требуется создать клиента в меню
«Администрирование | Настройки | OAuth2 | Клиенты»
(/admin/oauth2/clients/create).
Название – любое произвольное название, Url переадресации –https:://{ДОМЕН} /admin/oauth2callback.php
.После создания в окне редактирования клиента есть поля ID клиента и секретный ключ. Эти поля будут использоваться для интеграции с moodle.
Для работы moodle с проектом требуется наличие SSL сертификата
Настройка moodle
Войти под учетной записью администратора.
Перейти по адресу
/admin/search.php?query=oauth2
и на странице с поиском нажать на значок глаз для активации OAuth2 плагина.Перейти по адресу
/admin/tool/oauth2/issuers.php
и выбрать создание новой персонализированной службы.В форме создания службы указать
id
пользователя ипароль пользователя
, которые были получены при создании клиента OAuth2 в ЛК. В области видимости ввестиuser
, для базовой url-адрес службы и url-адрес логотипа ввести ссылки на ЛК. В первом случае домашняя страница и во втором ссылка на логотип (не обязательно).После создания потребуется настроить конечные точки. Для этого в списке служб требуется нажать на кнопку со списком и создать 3 точки.
Конечные точки которые необходимо создать:
Название URL authorization_endpoint https://{адрес личного кабинета}/oauth/authorize
token_endpoint https://{адрес личного кабинета}/oauth/token
userinfo_endpoint https://{адрес личного кабинета}/api/user
Необходимо настроить поля пользователя, по которым данные пользователя ЛК будут перенесены пользователю moodle. Для настроек полей необходимо нажать на иконку человека.
Данные пользователя:
Имя внешнего ключа Имя внутреннего ключа first_name firstname last_name lastname email email id idnumber После этого можно проверить работоспособность нажав на кнопку вход.
Настройка авторизации через сторонние провайдеры (работа в режиме клиента)
Работа в режиме клиента дает возможность подключать сторонние OAuth2 провайдеры и осуществлять авторизацию через подключенные провайдеры. Например, можно подключить OAuth2 провайдер «ВКонтакте» и осуществлять вход в личный кабинет через авторизацию «ВКонтакте», данные о пользователе будут перенесены.
Если пользователь не зарегистрирован по почте, указанной у провайдера, то его учетная запись будет создана из данных, которые были настроены при подключении. Если же пользователь уже зарегистрирован по почте, указанной у провайдера, то будет выполнена авторизация пользователя без синхронизации данных и провайдер будет закреплен за пользователем. Пользователь может выполнять вход с разных провайдеров, логика входа от этого не меняется. Поэтому за пользователем может быть закреплено несколько провайдеров.
Подключение
- Прописать команду для установки пакетов:
composer install
- Прописать команду для установки Laravel/passport:
В случае если пакет не был установлен ранее и не созданы ключи.
php artisan passport:install
- Прописать команду для публикации файлов:
php artisan tandem:publish --views
- Почистить кеш роутов:
php artisan route:clear
Добавление провайдера
В качестве примера добавления провайдера будет использован провайдер «ВКонтакте».
Для добавления провайдера необходимо авторизоваться под учетной записью администратора и перейти в раздел меню «Администрирование | Настройки | OAuth2 | Провайдеры»
и нажать кнопку «+ Провайдер»
или перейти по адресу /admin/oauth2/providers/create
. При добавлении провайдера откройте раздел добавления клиента на стороне провайдера и начните добавлять клиента. Когда потребуется callback адрес
- укажите его из формы добавления провайдера, который автоматически генерируется при вводе текста.
Форма добавления провайдера состоит из трех обязательных форм:
Владка «Основные параметры»
Описание полей формы:
Название | Название провайдера отображается в списках провайдеров и на кнопке авторизации через провайдер. |
---|---|
Постоянная ссылка | Ссылка используется для формирования redirectUrl и callback . Это необходимо для подключения провайдера и синхронизации данных. При вводе текста в это поле – автоматически будет выведен текст с ссылкой callback , которая необходима провайдерам для подключения личного кабинета. |
Логотип | Изображение, которое будет отображаться в кнопке авторизации через провайдер. |
ID клиента | ID клиента, который выдается провайдером при подключении. |
Секретный ключ клиента | Как и ID клиента выдается провайдером при подключении. |
Области получения доступа | Некоторые провайдеры разграничивают данные области получения доступа. Для получения данных о пользователе может потребоваться ввести код области. Это регламентируется провайдером. Если областей несколько, то они должны быть перечислены по правилам провайдера (например, через пробел). |
Действует | Переключатель включения и отключения способа входа через провайдер. Если отключен, то кнопка авторизации через текущий провайдер пропадает с формы входа и регистрации, и авторизация через провайдер не осуществляется. |
Владка «Конечные точки»
Для подключения провайдера необходимо указать все три конечные точки:
authorization_endpoint
– url адрес получения разрешения на авторизацию.token_endpoint
– url адрес получения токена для авторизации.userinfo_endpoint
– url адрес получения информации по токену авторизации.
Обратите внимание, что в форме разрешено вводить несколько userinfo_endpoint
. Некоторые сервисы выдают информацию не полностью и разбивают ее на разные конечные точки. Например, email
адрес можно получить только по адресу /oauth2/user2/email
, а ФИО и прочие поля можно получить по адресу /oauth2/user/2
.
Также настройка конечных точек userinfo_endpoint
наделена возможностью указывать параметры. Некоторым сервисам, например, «ВКонтакте», необходимо указывать версию и токен авторизации через GET параметры, а не через заголовок. Если в значении параметра необходимо передать токен авторизации, то требуется вписать в поле значения метку “{token}”, и при выполнении запросов эта метка будет заменена на значение токена.
Большинство провайдеров используют авторизацию через передачу токена в заголовке - “Authorization” Bearer token. Как и в случае с параметром для указания Bearer токена необходимо в значение записать текст с меткой токена “Bearer {token}”. Если запросы получения информации о пользователе требуют других заголовков, то их также можно добавить и задать значения. Все настройки заголовков автоматически применяются ко всем userinfo_endpoint
.
Владка «Поля пользователя»
Поля пользователя - это данные, которые будут синхронизированы с аккаунтом в личном кабинете при создании нового пользователя. При авторизации без создания учетной записи поля не будут изменять данные пользователя. Поле provider_user_id
будет указываться только в случае, если пользователь еще не выполнял авторизацию через конкретный провайдер.
Для добавления провайдера необходимо указать минимум три поля:
provider_user_id
- id пользователя на стороне клиента;first_name
- Имя;last_name
- Фамилия.
Остальные поля опциональны и их значения можно не указывать. Для добавления полей необходимо нажать на кнопку «Добавить»
.В добавленной строке, в выпадающем списке «Локальное значение»
указать требуемое поле и значение, которое будет получено.
Заполнение поля «Внешнее значение (провайдер)»
:
Некоторые сервисы, например, «ВКонтакте», отправляют информацию о пользователе объектом. «Вконтакте» возвращет в ответ объект response
, внутри которого элементы и по индексу 0 можно получить данные пользователя.
Поэтому, для получения значения в поле Имя
необходимо использовать следующее значение: response.0.first_name
. И для других полей по такому же принципу: response.0.{название поля}
.
Если провайдер отправляет значения пользователя прямо в запросе, то можно сразу писать first_name
и т.д.
После добавления провайдера («Основные параметры» включен парамер «Действует») на формах входа и регистрации будут отображаться альтернативные способы входа.
Дополнительная информация об OAuth2: