Nederlands
  • Logto
  • Cloudflare Workers
  • Workers
  • autorisatie
  • authenticatie
  • SaaS
  • huurder
  • serverloos

Logto x Cloudflare Workers: Hoe beveilig je jouw workers tegen openbare toegang?

In dit artikel hebben we geïntroduceerd hoe je je Cloudflare Workers APIs kunt beveiligen met Logto. We gebruikten Hono als webapplicatie-framework om de ontwikkeling te stroomlijnen.

Darcy Ye
Darcy Ye
Developer

Cloudflare Workers (in het vervolg aangeduid als Workers) biedt een serverloze uitvoeringsomgeving waarmee je nieuwe applicaties kunt creëren of bestaande kunt uitbreiden zonder de infrastructuur te hoeven configureren of onderhouden.

Met Workers kun je je serverloze applicaties bouwen en direct wereldwijd inzetten voor uitzonderlijke prestaties, betrouwbaarheid en schaalbaarheid. Workers biedt niet alleen uitzonderlijke prestaties, maar ook een opmerkelijk genereus gratis plan en betaalbare betaalde plannen. Of je nu een individuele ontwikkelaar bent of deel uitmaakt van een groot team, Workers stelt je in staat snel producten te ontwikkelen en te leveren terwijl de operationele overhead wordt geminimaliseerd.

Workers zijn standaard openbaar toegankelijk, wat beschermingsmaatregelen vereist om aanvallen en misbruik te voorkomen. Logto biedt een uitgebreide, gebruiksvriendelijke en schaalbare identiteitservice die Workers en alle andere webdiensten kan beveiligen.

Dit artikel behandelt het proces van het beveiligen van je Workers met behulp van Logto.

Bouw een Workers voorbeeld

Laten we eerst een Workers voorbeeldproject bouwen met Hono op een lokale machine.

We gebruiken de Wrangler CLI om het voorbeeld naar Cloudflare te deployen, zodat we toegang hebben tot het pad.

Deploy voorbeeld

Beveilig Workers APIs

Om een openbare toegankelijke API en een beveiligde API te vergelijken, voegen we een GET /auth/greet API toe die specifieke scopes vereist om toegang te krijgen.

We kunnen de overeenkomstige API niet benaderen zonder de juiste toestemming.

Aanvraag gemachtigde groet

Om het beheer van de toegang tot Workers APIs op de juiste manier te beheren, introduceren we Logto.

Logto instellen

Registreer een account als je er nog geen hebt.

We gebruiken Machine-to-Machine (M2M) als voorbeeld om toegang te krijgen tot de beveiligde Workers APIs omdat het eenvoudig is. Als je toegang wilt verlenen aan je webapp-gebruikers, is de setup vergelijkbaar, maar moet je de rol “User” gebruiken in plaats van “Machine-to-Machine”.

  1. Ga naar Logto Admin Console en ga naar het tabblad “API resource”, maak een API-resource genaamd “Workers sample API” met resource-indicator https://sample.workers.dev/ . Maak ook een toestemming greet:visitor voor deze API-resource.

Maak Workers sample API-resource

  1. Maak een “Workers admin rol”, dit is een “Machine-to-Machine” rol, en wijs de greet:visitor scope toe aan deze rol.

Maak M2M rol

  1. Maak een M2M app en wijs de “Workers admin rol” toe aan de app.

Maak M2M app

Werk de Workers auth validator bij

Omdat Logto JWT-toegangstokens onder de motorkap gebruikt, moeten we de JWT-validatielogica in Workers implementeren.

Aangezien het JWT-toegangstoken door Logto wordt uitgegeven, moeten we:

  1. De overeenkomende publieke sleutel verkrijgen om de handtekening te verifiëren.
  2. Verifieer de consument van het JWT-toegangstoken om Workers APIs te zijn.

Deze constanten kunnen worden geconfigureerd in het wrangler.toml bestand [1] en worden ingezet als Workers' omgevingsvariabelen. Je kunt de omgevingsvariabelen ook handmatig beheren op het Cloudflare Dashboard.

Na het deployen van het Workers-project naar Cloudflare, kunnen we testen of de APIs succesvol zijn beschermd.

  1. Verkrijg toegangstoken

Verkrijg toegangstoken

Inspecteer JWT

  1. Verzoek Workers GET /auth/greet API

Toegang gemachtigde API

Conclusie

Met de stapsgewijze handleiding in dit artikel zou je in staat moeten zijn om Logto te gebruiken om een beveiliging voor je Workers APIs op te bouwen.

In dit artikel hebben we de Wrangler CLI gebruikt voor lokale ontwikkeling en inzet van Workers-projecten. Cloudflare biedt daarnaast robuuste en veelzijdige Workers APIs om de inzet en het beheer te vergemakkelijken.

Overweeg een SaaS-applicatie te ontwikkelen. De Cloudflare API stelt je in staat om eenvoudig toegewijde Workers voor elke tenant te implementeren, terwijl Logto ervoor zorgt dat toegangstokens exclusief blijven voor hun respectieve tenants. Deze gedetailleerde controle voorkomt ongeoorloofde toegang tussen tenants, wat de beveiliging en gegevensprivacy voor je SaaS-appgebruikers verbetert.

De aanpasbare en robuuste architectuur van Logto voldoet aan de diverse authenticatie- en autorisatiebehoeften van verschillende applicaties. Of je nu een complex SaaS-platform bouwt of een eenvoudige webapp, Logto biedt de flexibiliteit en schaalbaarheid om aan jouw specifieke vereisten te voldoen.