Обновление системы модуля авторизации электронного кампуса
Импортировано из старого блога. Оригинальная дата публикации – 19 апреля 2019
В течении вчерашнего дня, вы могли наблюдать некоторые перебои в работе электронного кампуса. Это было связано с тем, что наши инженеры занимались обновление системы авторизации, которую мы полностью переписали.
Это самое крупное обновление системы за последнее время.
Почему мы это сделали
Ранее, за авторизацию отвечал модуль располагающийся по адресу login.kpi.ua. С момента его разработки прошло довольно большое время. При это возможности оперативно вносить изменения и закрывать уязвимости не было.
Старая система авторизации была написана на PHP версии 5.3, на которой и работала до вчерашнего дня. При этом, на сегодня, актуальная версия PHP — 7.3. Однако просто обновить версию PHP было невозможно — некоторые из частей модуля авторизации были завязаны на ту функциональность, которую новая версия PHP уже просто не поддерживает. Очевидно, что использование настолько старого ПО, уже само по себе чревато большим количеством уязвимостей.
В связи с этим, и было принято решение о замене системы авторизации.
Как авторизация работает теперь
Уже несколько лет для взаимодействия сторонних систем с электронным кампусом используется API, которое в том числе, обеспечивает возможность авторизации для внешних клиентов. Поэтому для авторизации пользователей в самом кампусе было принято решение использовать это же API.
Для справки: API реализован на базе ASP.NET Core 2.2 с использованием JWT-токенов для авторизации.
Помимо серверной части, обновлению подверглась и UI часть системы. Сейчас, при входе в кампус, вы попадете на новую страницу авторизации (на самом деле некоторые из вас уже видели эту страницу, однако она работала в тестовом режиме и не использовалась для входа в систему по умолчанию):
Успешно авторизовавшись, вы попадаете на дашборд, с которого можете перейти в: собственно в основное приложение электронного кампуса, редактор профиля, или просмотреть документацию к системе. Со временем, в новый интерфейс будут перенесены многие из модулей основной системы:
Немного технических деталей: новый UI реализован на базе фреймворка React, поддерживает адаптивность. Исходный код доступен в открытом доступе: https://github.com/kpi-ua/ecampus.kpi.ua
Почему эти изменение важны
Три главных пункта:
— система в целом стала безопаснеее;
— для авторизации различных модулей используется единая точка входа в систему;
— уменьеша кодовая база устаревшего программного кода, что в свою очередь снижает общие издержки и стоимость сопровождения.
Обратная связь
Мы всегда стараемся прислушиваться к нашим пользователям. В случае возникновения с проблем с авторизацией, или новым UI — вы всегда можете оставить свой багрепорт в репозитории проекта: https://github.com/kpi-ua/ecampus.kpi.ua/issues Пулреквесты также приветствуются! ;)
Также, мы всегда внимательно читаем все письма, которые приходят на нашу почту: [email protected]
Не забудьте ознакомиться с обновлениями лично!