На изображении ниже представлено взаимодействие компонентов системы в версии 2 системы пользователей и контента веб-сервиса.
Далее в нескольких главах описаны реализованные возможности, описание методов и инструкции по развертыванию системы.
Для использования системы FusionAuth ее необходимо развернуть. Для этого требуются инструменты curl и docker. Для начала необходимо ввести в рабочей директории следующие команды:
curl -o docker-compose.yml https://raw.githubusercontent.com/
FusionAuth/fusionauth-containers/master/docker/fusionauth/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/FusionAuth/
fusionauth-containers/master/docker/fusionauth/.env
После этого в директории появятся необходимые файлы. Теперь из файла docker-compose.yml необходимо удалить описание контейнера elasticsearch.
Далее необходимо сконфигурировать и развернуть пустой контейнер с БД PostgreSQL.
Для запуска системы требуется команда
sudo docker-compose up
Теперь необходимо открыть в веб-браузере адрес ip:port, на котором она была развернута (указывается в файле docker-compose). Следующие шаги система предложит сама, чтобы сконфигурировать оставшиеся параметры.
Для добавления новых приложений необходимо создать Tenant и соответственные Applications. В каждом из них необходимо настроить OAuth2 авторизацию и сконфигурировать API-ключ в панели администратора при необходимости.
Далее необходимо настроить параметры OAuth2 авторизации.
В Tenant настраивается только поле issuer (вписать домен в формате “https://app.selfio.me” или “http://localhost:8080”).
В Application необходимо настроить параметры на вкладке OAuth согласно спецификации и далее эти параметры использовать в своем приложении. Также необходимо на вкладке JWT включить ползунок “Enable JWT” и настроить следующие параметры:
Чтобы данные пункты появились необходимо предварительно выбрать пункт “Auto generate a new key on save…” и сохранить изменения.
Для работы приложения необходимо развернуть БД PostgreSQL. Необходимая папка с файлами конфигурации актуальной версии находится в GitLab. Ее необходимо скопировать и по пути этой папки в терминале вызвать команду
sudo docker-compose up --build
После этого можно приступать к запуску приложения. Для этого необходимо скопировать Git-репозиторий из GitLab, получить у администраторов файл конфигурации (с расширением .properties) и поместить его в директорию “/src/main/resources”.
Теперь для сборки .jar файла необходимо выполнить в корне проекта команду
mvn package -Dmaven.test.skip
Далее использовать Dockerfile и docker-compose.yml для запуска приложения.
Для работы с доменом может понадобиться тонкая настройка proxy-сервера. На сервере в данный момент используется traefik для организации доменов и сертификатов SSL, а также nginx для обработки адресов запросов и выставления необходимых хедеров.
Для обработки запросов, связанных с сохраняемыми сценариями, реализованы и описаны в OpenAPI документации следующие функциональные возможности:
По умолчанию результат выдается отсортированным по дате последнего изменения.
В списке изображений ниже представлена документация в стиле JavaDoc для основных классов приложения. Подробная версия этой документации расположена в репозитории проекта на GitLab для наиболее удобного просмотра разработчиками. Она представляет собой набор стилизованных HTML-страниц.