Logto x Cloudflare Workers: 어떻게 Workers를 공개 액세스에서 보호할 수 있을까?
이 글에서는 Logto를 사용하여 Cloudflare Workers API를 어떻게 보호할 수 있는지 소개합니다. 우리는 개발을 간소화하기 위해 웹 애플리케이션 프레임워크로 Hono를 사용했습니다.
이 글에서는 Logto를 사용하여 Cloudflare Workers API를 어떻게 보호할 수 있는지 소개합니다. 우리는 개발을 간소화하기 위해 웹 애플리케이션 프레임워크로 Hono를 사용했습니다.
Cloudflare Workers (이하 Workers라고 합니다)은 인프라를 구성하거나 유지 관리하지 않고 새로운 애플리케이션을 생성하거나 기존 애플리케이션을 증강할 수 있는 서버리스 실행 환경을 제공합니다.
Workers를 사용하면 서버리스 애플리케이션을 구축하고 전 세계적으로 즉시 배포하여 뛰어난 성능, 안정성 및 확장성을 제공합니다. Workers는 뛰어난 성능을 제공할 뿐만 아니라 매우 관대한 무료 플랜과 저렴한 유료 플랜을 제공합니다. 개인 개발자든 대규모 팀이든, Workers는 운영 오버헤드를 최소화하면서 신속하게 제품을 개발하고 배포할 수 있도록 도와줍니다.
Workers는 기본적으로 공개 접근이 가능하므로 공격 및 악용을 방지하기 위한 보호 조치가 필요합니다. Logto는 Workers 및 기타 모든 웹 서비스를 보호할 수 있는 포괄적이고 사용하기 쉬우며 확장 가능한 ID 서비스를 제공합니다.
이 글에서는 Logto를 사용하여 Workers를 보호하는 과정에 대해 자세히 살펴봅니다.
먼저 로컬 머신에서 Hono를 사용하여 Workers 샘플 프로젝트를 빌드해 보겠습니다.
우리는 Wrangler CLI를 사용하여 샘플을 Cloudflare에 배포합니다. 따라서 해당 경로에 접근할 수 있습니다.

공개 접근 가능한 API와 보호된 API를 비교하기 위해 특정 스코프가 필요로 하는 GET /auth/greet API를 추가합니다.
적절한 권한이 없으면 해당 API에 접근할 수 없습니다.

Workers API에 대한 접근을 제대로 관리하기 위해 Logto를 도입합니다.
계정이 없다면 등록하세요.
우리는 머신 투 머신 (M2M) 예를 사용하여 보호된 Workers API에 액세스하기 때문에 간단합니다. 웹 앱 사용자에게 접근을 부여하려면 설정이 비슷하지만 “User” 역할 대신 “Machine-to-machine” 역할을 사용해야 합니다.
https://sample.workers.dev/ 리소스 표시기로 “Workers sample API”라는 이름의 API 리소스를 생성합니다. 이 API 리소스에 대한 greet:visitor 권한도 생성합니다.
greet:visitor 스코프를 할당합니다.

Logto는 JWT 액세스 토큰을 사용하기 때문에 Workers에서 JWT 검증 로직을 구현해야 합니다.
Logto에서 JWT 액세스 토큰을 발행하기 때문에 우리는 다음을 수행해야 합니다:
이 상수는 wrangler.toml 파일 [1]에서 구성할 수 있으며 Workers의 환경 변수로 배포됩니다. 또한 Cloudflare 대시보드에서 환경 변수를 수동으로 관리할 수 있습니다.
Workers 프로젝트를 Cloudflare에 배포한 후 API가 성공적으로 보호되었는지 테스트할 수 있습니다.


GET /auth/greet API 요청
이 글의 단계별 가이드를 통해 Logto를 사용하여 Workers API를 보호하는 방법을 이해할 수 있을 것입니다.
우리는 이 글에서 Workers 프로젝트의 로컬 개발 및 배포를 위해 Wrangler CLI를 사용했습니다. Cloudflare는 또한 배포 및 관리를 용이하게 하는 강력하고 다재다능한 Workers API를 제공합니다.
SaaS 애플리케이션을 개발한다고 가정해 보세요. Cloudflare API는 각 테넌트를 위해 전용 Workers를 쉽게 배포할 수 있도록 해주며, 그와 동시에 Logto는 접근 토큰이 각 테넌트에 독점적으로 유지되도록 보장합니다. 이러한 세밀한 제어는 테넌트 간의 비허가 접근을 방지하여 SaaS 애플리케이션 사용자의 보안과 데이터 프라이버시를 향상시킵니다.
Logto의 유연하고 강력한 아키텍처는 다양한 애플리케이션의 인증 및 인가 요구 사항을 충족시킬 수 있습니다. 복잡한 SaaS 플랫폼을 구축하거나 간단한 웹 앱을 만드는 경우에 상관없이, Logto는 사용자의 특정 요구사항을 충족하기 위한 유연성과 확장성을 제공합니다.