Итак, как вы обеспечиваете безопасность своего приложения, продолжая эффективно развивать свою основную логику?
Жидкость делает именно это. Liquid — это сервер аутентификации OAuth 2.0 с открытым исходным кодом на основе Docker, который ускоряет разработку вашего продукта, предлагая готовые масштабируемые API-интерфейсы для таких функций, как отслеживание, отмена подписки, блокировка и запрет, чтобы вы могли сосредоточиться только на логике своего приложения. Это по существу подключается к любому проекту и легко настраивается.
Если у вас нет Docker, его довольно легко настроить. Скачать Docker можно здесь: Скачать Docker Desktop | Докер
Liquid предлагает удобную отправную точку, где все работает гладко из коробки. Однако для тех, кто ищет большего контроля, каждый аспект Liquid полностью настраивается и настраивается.
Начало работы с Liquid Authentication Services:
Хотя у Liquid есть несколько зависимостей, большинство из них на самом деле необязательны. Единственным обязательным требованием является MongoDB. Предполагая, что у вас уже установлена MongoDB, давайте сразу приступим к запуску Liquid:
- Извлеките образ докера с помощью команды
docker pull shrihariprakash/liquid
. - Создайте коллекцию в своей базе данных MongoDB с именем
clients
и вставьте в нее следующий документ (убедитесь, что вы отредактировали URI внешнего интерфейса и секрет в документе ниже):
{ "id": "application_client", "grants": [ "client_credentials", "authorization_code", "refresh_token" ], "redirectUris": ["{{frontend-redirect-uri-1}}", "{{frontend-redirect-uri-2}}"], "secret": "super-secure-client-secret", "role": "internal_client", "displayName": "Application Client" }
- На хост-компьютере создайте файл с именем
app-config.json
с содержимым этого файла и измените свойстваoauth.client-id
иoauth.redirect-uri
на значения из документа, который вы только что вставили в коллекцию клиентов, и установите дляuser.account-creation.require-email-verification
значение false. Это файл конфигурации, используемый для всех ваших вещей во внешнем интерфейсе, таких как настройки пользовательского интерфейса. Не стесняйтесь исследовать его! - Теперь перейдите в Liquid Option Manager и отредактируйте настройки вашего бэкэнда следующим образом:
- Установите
system.static.app-config-absolute-path
на/environment/app-config.json
. - Установите
mongo-db.connection-string
в строку подключения к вашей базе данных MongoDB. - Установите
user.account-creation.require-email-verification
на ложь. - Установите
privilege.can-use-cache
на ложь. - Экспортируйте конфигурацию и сохраните файл как
.env
(желательно поместить его в ту же папку, что и ваш app-config.json). - Теперь откройте терминал в папке, содержащей ваш app-config.json.
- Если вы используете Windows, запустите
docker run -p 2000:2000 -v "%cd%":/environment --env-file .env --name liquid -itd shrihariprakash/liquid:latest
. - Если вы используете Linux, запустите
docker run -p 2000:2000 -v "$(pwd)":/environment --env-file .env --name liquid -itd shrihariprakash/liquid:latest
. - Готово ✨, переход к
http://ocalhost:2000
должен отобразить страницу входа. Все API готовы к вызову из других ваших сервисов. Если остальная часть вашего проекта выполняется на Node, вы можете использовать Liquid Node Connector для аутентификации пользователей, подключающихся к вашему сервису, а также для получения клиентских токенов для взаимодействия с клиентскими API Liquid. Нажмите здесь для Swagger.
Использование входа и регистрации
Зарегистрироваться:
- Чтобы создать учетную запись, посетите
/signup
и заполните данные. - Нажмите «Создать учетную запись».
- Если вы запускаете это в режиме разработки, код печатается в вашей консоли. Введите этот код на странице подтверждения.
Войти:
- Для аутентификации перенаправьте свое приложение на
/login?redirect={{your_target_uri}}&theme={{light | dark}}
и введите свои учетные данные. Обратите внимание, что значение параметра перенаправления должно быть одним из значений, настроенных вredirectUris
Setup(2). - Если учетные данные верны, приложение перенаправляет элемент управления на URL, указанный в параметре
redirect
, с кодом состояния и авторизации. - В логике вашего приложения вы можете использовать этот код в обмен на токен доступа и обновления, используя грант
authorization_code
.
Вот и все! Теперь у вас есть масштабируемая и проверенная в бою система аутентификации и управления пользователями, которую вы можете использовать снова и снова!