Итак, как вы обеспечиваете безопасность своего приложения, продолжая эффективно развивать свою основную логику?

Жидкость делает именно это. Liquid — это сервер аутентификации OAuth 2.0 с открытым исходным кодом на основе Docker, который ускоряет разработку вашего продукта, предлагая готовые масштабируемые API-интерфейсы для таких функций, как отслеживание, отмена подписки, блокировка и запрет, чтобы вы могли сосредоточиться только на логике своего приложения. Это по существу подключается к любому проекту и легко настраивается.

Если у вас нет Docker, его довольно легко настроить. Скачать Docker можно здесь: Скачать Docker Desktop | Докер

Liquid предлагает удобную отправную точку, где все работает гладко из коробки. Однако для тех, кто ищет большего контроля, каждый аспект Liquid полностью настраивается и настраивается.

Начало работы с Liquid Authentication Services:

Хотя у Liquid есть несколько зависимостей, большинство из них на самом деле необязательны. Единственным обязательным требованием является MongoDB. Предполагая, что у вас уже установлена ​​MongoDB, давайте сразу приступим к запуску Liquid:

  1. Извлеките образ докера с помощью команды docker pull shrihariprakash/liquid.
  2. Создайте коллекцию в своей базе данных 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"
}
  1. На хост-компьютере создайте файл с именем app-config.json с содержимым этого файла и измените свойства oauth.client-id и oauth.redirect-uri на значения из документа, который вы только что вставили в коллекцию клиентов, и установите для user.account-creation.require-email-verification значение false. Это файл конфигурации, используемый для всех ваших вещей во внешнем интерфейсе, таких как настройки пользовательского интерфейса. Не стесняйтесь исследовать его!
  2. Теперь перейдите в Liquid Option Manager и отредактируйте настройки вашего бэкэнда следующим образом:
  3. Установите system.static.app-config-absolute-path на /environment/app-config.json .
  4. Установите mongo-db.connection-string в строку подключения к вашей базе данных MongoDB.
  5. Установите user.account-creation.require-email-verification на ложь.
  6. Установите privilege.can-use-cache на ложь.
  7. Экспортируйте конфигурацию и сохраните файл как .env (желательно поместить его в ту же папку, что и ваш app-config.json).
  8. Теперь откройте терминал в папке, содержащей ваш app-config.json.
  9. Если вы используете Windows, запустите docker run -p 2000:2000 -v "%cd%":/environment --env-file .env --name liquid -itd shrihariprakash/liquid:latest.
  10. Если вы используете Linux, запустите docker run -p 2000:2000 -v "$(pwd)":/environment --env-file .env --name liquid -itd shrihariprakash/liquid:latest.
  11. Готово ✨, переход к http://ocalhost:2000 должен отобразить страницу входа. Все API готовы к вызову из других ваших сервисов. Если остальная часть вашего проекта выполняется на Node, вы можете использовать Liquid Node Connector для аутентификации пользователей, подключающихся к вашему сервису, а также для получения клиентских токенов для взаимодействия с клиентскими API Liquid. Нажмите здесь для Swagger.

Использование входа и регистрации

Зарегистрироваться:

  1. Чтобы создать учетную запись, посетите /signup и заполните данные.
  2. Нажмите «Создать учетную запись».
  3. Если вы запускаете это в режиме разработки, код печатается в вашей консоли. Введите этот код на странице подтверждения.

Войти:

  1. Для аутентификации перенаправьте свое приложение на /login?redirect={{your_target_uri}}&theme={{light | dark}} и введите свои учетные данные. Обратите внимание, что значение параметра перенаправления должно быть одним из значений, настроенных в redirectUris Setup(2).
  2. Если учетные данные верны, приложение перенаправляет элемент управления на URL, указанный в параметре redirect, с кодом состояния и авторизации.
  3. В логике вашего приложения вы можете использовать этот код в обмен на токен доступа и обновления, используя грант authorization_code.

Вот и все! Теперь у вас есть масштабируемая и проверенная в бою система аутентификации и управления пользователями, которую вы можете использовать снова и снова!