Русский
  • google-cloud

Настройка Google Cloud Storage как хранилища файлов для Logto

Практическое руководство по настройке Google Cloud Storage в качестве хранилища файлов для Logto.

Sijie
Sijie
Developer

По умолчанию Logto Console использует текстовое поле для ввода URL-адресов статических файлов, таких как аватары. Чтобы включить более интуитивно понятный опыт загрузки файлов с помощью перетаскивания, необходимо настроить провайдера хранилища.

В этой статье предоставляется пошаговое руководство по настройке Google Cloud Storage в качестве вашего провайдера хранилища.

Требования

  • Экземпляр Logto, работающий нативно в Node.js или в контейнере Docker. Если у вас его нет, ознакомьтесь с этим руководством: https://docs.logto.io/docs/tutorials/get-started/#local
  • Проект Google Cloud

Подготовка корзины

Создание корзины — это просто. Обратитесь к официальной документации Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.

После того, как корзина готова, следующим шагом будет настройка доступа для публичного просмотра. Вот как это сделать:

  1. В консоли Google Cloud перейдите на страницу Buckets в Cloud Storage.
  2. Из списка корзин щелкните по имени той корзины, которую хотите сделать публичной.
  3. Выберите вкладку Permissions в верхней части страницы.
  4. В разделе Permissions щелкните по кнопке Grant access.
  5. В поле New principals введите allUsers.
  6. В выпадающем списке Select a role введите Storage Object Viewer в поле фильтра и выберите Storage Object Viewer из отфильтрованных результатов.
  7. Нажмите Save.
  8. Нажмите Allow public access.

Убедитесь, что роль "Storage Object Viewer" назначена. Вот скриншот для справки:

Storage Object Viewer

Получение файла с ключом

SDKs Google Cloud обычно используют "файл с ключом". Если вы не знакомы с Google Cloud, это может быть самой сложной частью. Вот как его получить:

  1. Перейдите на страницу аккаунта сервиса: https://console.cloud.google.com/iam-admin/serviceaccounts
  2. Создайте аккаунт, введите имя, затем продолжите.
  3. На следующем шаге выберите роль “Storage Object User”. Вы можете найти её, используя фильтр.
  4. После завершения создания аккаунта перейдите на страницу сведений о аккаунте и выберите вкладку “keys”.
  5. Щелкните “add key”, выберите “create a new key”, выберите “json” в диалоге и затем скачайте ваш json файл.

Storage Object User

Добавление файла ключа в Logto

Logto должен иметь доступ к файлу с ключом.

Запуск в Node.js

Скопируйте файл в /path/to/logto/core и переименуйте его в google-storage-key.json.

Запуск в контейнере Docker

Если вы запускаете Logto в контейнере Docker, вам нужно будет смонтировать файл в контейнер. Предполагая, что вы используете Docker Compose, добавьте это в вашу конфигурацию:

Не забудьте заменить /path/to на фактический путь.

Обновление конфигураций провайдера

Мы будем использовать CLI Logto для обновления конфигураций провайдера. CLI обычно доступен в корневой папке экземпляра Logto. Чтобы узнать больше, ознакомьтесь с этой ссылкой: https://docs.logto.io/docs/references/using-cli/

Подготовка JSON

Вот пример конфигурации JSON:

Не забудьте заменить projectId и bucketName на ваши значения.

Обновление через CLI

Преобразуйте JSON в строку и выполните следующую команду:

Тестирование настройки

Теперь, когда всё настроено, не забудьте перезапустить Logto и попробовать. Вы можете перейти в раздел "Опыт входа" и попытаться загрузить лого.

Если вы находите эти шаги сложными, рассмотрите возможность использования облачной версии Logto. Мы позаботимся о всём за вас!