Logto x Cloudflare Workers: Как защитить своих работников от публичного доступа?
В этой статье мы рассказали, как защитить свои API для Cloudflare Workers с помощью Logto. Мы использовали Hono в качестве веб-фреймворка для упрощения разработки.
В этой статье мы рассказали, как защитить свои API для Cloudflare Workers с помощью Logto. Мы использовали Hono в качестве веб-фреймворка для упрощения разработки.
Cloudflare Workers (далее в тексте будем называть Workers) предоставляет безсерверную среду выполнения, которая позволяет создавать новые приложения или расширять существующие без необходимости настройки или обслуживания инфраструктуры.
С Workers, вы можете создавать свои безсерверные приложения и мгновенно разворачивать их по всему миру для обеспечения исключительной производительности, надежности и масштаба. Workers не только обеспечивает исключительную производительность, но и предлагает чрезвычайно щедрый бесплатный план и доступные платные планы. Будь вы индивидуальным разработчиком или членом крупной команды, Workers позволяет вам быстро разрабатывать и доставлять продукты, минимизируя операционные издержки.
Workers по умолчанию доступны публично, что требует мер защиты для предотвращения атак и злоупотреблений. Logto предоставляет комплексные, удобные и масштабируемые сервисы идентификации, которые смогут защитить Workers и все другие веб-сервисы.
Эта статья расскажет о том, как защитить ваши Workers с помощью Logto.
Давайте сначала создадим пример проекта Workers с помощью Hono на локальной машине.
Мы используем Wrangler CLI для развертывания примера в Cloudflare, чтобы мы могли получить доступ к пути.

Для сравнения публично доступного API и защищенного API мы добавляем API GET /auth/greet, который требует наличия определенных прав доступа.
Мы не сможем получить доступ к соответствующему API без соответствующих прав доступа.

Для управления доступом к API Workers, мы используем Logto.
Зарегистрируйте аккаунт, если у вас его еще нет.
Мы используем режим Machine-to-machine (M2M) в качестве примера для доступа к защищенным API Workers, так как это наиболее прямолинейный способ. Если вы хотите предоставить доступ пользователям вашего веб-приложения, настройка будет аналогичной, но вам следует использовать роль «User» вместо роли «Machine-to-machine».
https://sample.workers.dev/. Также создайте разрешение greet:visitor для этого API ресурса.
greet:visitor.

Так как Logto использует токены доступа JWT, нам необходимо реализовать логику валидации JWT в Workers.
Так как токен доступа JWT выдается Logto, нам нужно:
Эти константы можно настроить в файле wrangler.toml [1] и они будут развернуты как переменные окружения Workers. Вы также можете вручную управлять переменными окружения на панели управления Cloudflare.
После развертывания проекта Workers в Cloudflare, мы можем протестировать, удалось ли защитить API.


GET /auth/greet
С пошаговым руководством в этой статье вы должны уметь использовать Logto для защиты ваших API Workers.
В этой статье мы использовали Wrangler CLI для локальной разработки и развертывания проектов Workers. Кроме того, Cloudflare предоставляет мощные и универсальные Workers API для упрощения развертывания и управления.
Представьте себе разработку SaaS-приложения. API Cloudflare дает вам возможность легко развертывать выделенные Workers для каждого арендатора, в то время как Logto гарантирует, что токены доступа остаются эксклюзивными для своих арендаторов. Этот гранулярный контроль предотвращает несанкционированный доступ между арендаторами, повышая безопасность и конфиденциальность данных для ваших пользователей SaaS-приложений.
Адаптируемая и мощная архитектура Logto удовлетворяет разнообразные потребности в аутентификации и авторизации для различных приложений. Как бы сложно ни было ваше SaaS-платформа или простое веб-приложение, Logto обеспечивает гибкость и масштабируемость для удовлетворения ваших конкретных требований.