Заказ закрыт
Разработать связку микросервисов: Keycloak (с кастомным модулем) + Spring микросервис

Бюджет: 20 000 руб
254.14 $ – 223.14 €
Заказчик выбрал исполнителя:
Руслан Никонов  
Цель: реализация подсистемы регистрации пользователя через СМС
Инструментарий: 
– Keycloak 24.0.4 
– Spring boot 3.2.5
– Docker compose 2.27.0

Описание: Для open source решения Keycloak в качестве SSO (Single sign-on) необходима реализация модуля, который при регистрации и авторизации пользователя по СМС отправляет webhook на микросервис отправки одноразовых кодов (Spring)

Необходимо реализовать:

В части Keycloak:
- Если потребуется – можно в связке использовать docker контейнер с postgres
– Сконфигурировать Keycloak realm (возможно новый)
– Реализовать форму авторизации по смс, где под каждый новый номер телефона создается аккаунт, без необходимости проходить регистрацию. При этом номер телефона записывается в бд в поле логин + в поле phone
– Реализовать форму восстановления пароля по смс, где любой пользователь с заполненным полем phone может создать/восстановить постоянный пароль для авторизации по username or e-mail
– Сконфигурировать Keycloak client, для возможности работы с данным функционалом через rest api

В части модуля для Keycloak: Для примера можно посмотреть реализаццию  github.com/cooperlyt/keyc...
– Проверка корректности номера телефона
– Отправка POST запроса с номером телефона и кодом на микросервис отправки смс
– Реализовать api эндпоинт для авторизации (шаг: ввод номера) через rest client
– Реализовать api эндпоинт для авторизации (шаг: ввод смс) через rest client
– Реализовать сохранение нового пользователя в БД после корректной авторизации
– Реализовать api эндпоинты для восстановления пароля через rest client
– Реализовать блокировку по ip при __ количестве попыток в течении __ минут на 1 час

В части микросервиса отправки одноразовых кодов (Spring):
– Использовать Gradle
– Реализовать api эндпоинт для получения от Keycloak данных для отправки смс. На текущем этапе просто выводить эти данные в лог.
– Реализовать api эндпоинт для получения от Keycloak данных для отправки смс на восстановление постоянного пароля. На текущем этапе просто выводить эти данные в лог.

В части Docker Compose (сконфигурировать все микросервисы):
– Создать .env_example с примером кконфигурации для всей связки
– Открыть только необходимые порты для Keycloak, остальные микросервисы общаются через докеровскую сеть
– Все логины и пароли задаются только через переменные из .env
– Конфигурация Keycloak, должна быть применена при создании контейнера. Json для импорта конфигурации не должен содержать чувствительных данных (токены, ключи, пароли) но допускается использовать переменные окружения, Keycloak умеет их тяннуть.
– Конфигурация при перезапусках контейнера 
– Модули должны компилироваться в моменте билда контейнера, но в конечном слое остаются только jar модулей

Результат работы: github репозиторий с подробным peadme.md
Опубликован 16.05.2024 в 09:41 Последнее изменение: 16.05.2024 в 09:44
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.