Настройка Google Cloud Storage как хранилища файлов для Logto
Практическое руководство по настройке Google Cloud Storage в качестве хранилища файлов для Logto.
По умолчанию 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.
После того, как корзина готова, следующим шагом будет настройка доступа для публичного просмотра. Вот как это сделать:
- В консоли Google Cloud перейдите на страницу Buckets в Cloud Storage.
- Из списка корзин щелкните по имени той корзины, которую хотите сделать публичной.
- Выберите вкладку Permissions в верхней части страницы.
- В разделе Permissions щелкните по кнопке Grant access.
- В поле New principals введите
allUsers
. - В выпадающем списке Select a role введите Storage Object Viewer в поле фильтра и выберите Storage Object Viewer из отфильтрованных результатов.
- Нажмите Save.
- Нажмите Allow public access.
Убедитесь, что роль "Storage Object Viewer" назначена. Вот скриншот для справки:
Получение файла с ключом
SDKs Google Cloud обычно используют "файл с ключом". Если вы не знакомы с Google Cloud, это может быть самой сложной частью. Вот как его получить:
- Перейдите на страницу аккаунта сервиса: https://console.cloud.google.com/iam-admin/serviceaccounts
- Создайте аккаунт, введите имя, затем продолжите.
- На следующем шаге выберите роль “Storage Object User”. Вы можете найти её, используя фильтр.
- После завершения создания аккаунта перейдите на страницу сведений о аккаунте и выберите вкладку “keys”.
- Щелкните “add key”, выберите “create a new key”, выберите “json” в диалоге и затем скачайте ваш json файл.
Добавление файла ключа в 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. Мы позаботимся о всём за вас!