Deutsch
  • Logto
  • Cloudflare Workers
  • Workers
  • Authorisierung
  • Authentifizierung
  • SaaS
  • Mieter
  • Serverless

Logto x Cloudflare Workers: Wie sichert man deine Workers vor öffentlichem Zugriff?

In diesem Artikel haben wir erklärt, wie man mit Logto die Cloudflare Workers APIs absichert. Wir haben Hono als Webanwendungs-Framework verwendet, um die Entwicklung zu optimieren.

Darcy Ye
Darcy Ye
Developer

Cloudflare Workers (die wir in folgendem Inhalt einfach als Workers verwenden) bieten eine serverlose Ausführungsumgebung, die es dir ermöglicht, neue Anwendungen zu erstellen oder vorhandene zu erweitern, ohne Infrastruktur konfigurieren oder warten zu müssen.

Mit Workers kannst du deine serverlosen Anwendungen entwickeln und sofort weltweit bereitstellen, um außergewöhnliche Leistung, Zuverlässigkeit und Skalierbarkeit zu gewährleisten. Workers bieten nicht nur hervorragende Leistung, sondern auch einen bemerkenswert großzügigen kostenlosen Plan und erschwingliche kostenpflichtige Pläne. Egal, ob du ein einzelner Entwickler oder ein großes Team bist, Workers ermöglichen es dir, Produkte schnell zu entwickeln und bereitzustellen, während der Betriebsaufwand minimiert wird.

Workers sind standardmäßig öffentlich zugänglich, weshalb Schutzmaßnahmen notwendig sind, um Angriffe und Missbrauch zu verhindern. Logto bietet einen umfassenden, benutzerfreundlichen und skalierbaren Identitätsdienst, der Workers und alle anderen Webdienste absichern kann.

Dieser Artikel beleuchtet den Prozess der Absicherung deiner Workers mit Logto.

Erstelle ein Workers-Beispiel

Lasst uns zunächst ein Workers-Beispielprojekt mit Hono auf der lokalen Maschine erstellen.

Wir verwenden das Wrangler CLI, um das Beispiel auf Cloudflare bereitzustellen, sodass wir auf den Pfad zugreifen können.

Beispiel bereitstellen

Schütze Workers APIs

Um die öffentlich zugängliche API mit einer geschützten API zu vergleichen, fügen wir eine GET /auth/greet API hinzu, die bestimmte Berechtigungen zum Zugriff erfordert.

Wir können ohne entsprechende Berechtigung nicht auf die entsprechende API zugreifen.

Autorisierter Gruß anfordern

Um den Zugriff auf die Workers APIs ordnungsgemäß zu verwalten, stellen wir Logto vor.

Logto einrichten

Registriere ein Konto, falls du noch keines hast.

Wir verwenden Machine-to-Machine (M2M) als Beispiel, um auf die geschützten Workers APIs zuzugreifen, da dies direkt ist. Wenn du deinen Webanwendungsnutzern Zugriff gewähren möchtest, ist die Einrichtung ziemlich ähnlich, aber du solltest die Rolle „Benutzer“ anstelle der Rolle „Machine-to-Machine“ verwenden.

  1. Betrete die Logto Admin-Konsole und gehe zum Tab „API-Ressource“. Erstelle eine API-Ressource namens „Workers-Beispiel-API“ mit dem Ressourcenzeiger auf https://sample.workers.dev/ . Erstelle auch eine Berechtigung greet:visitor für diese API-Ressource.

Workers-Beispiel-API-Ressource erstellen

  1. Erstelle die „Workers-Admin-Rolle“, die eine „Machine-to-Machine“-Rolle ist, und weise dieser Rolle den greet:visitor-Scope zu.

M2M-Rolle erstellen

  1. Erstelle eine M2M-App und weise der App die „Workers-Admin-Rolle“ zu.

M2M-App erstellen

Aktualisiere den Workers Auth-Validator

Da Logto einen JWT-Zugriffstoken im Hintergrund verwendet, müssen wir die JWT-Validierungslogik in den Workers implementieren.

Da der JWT-Zugriffstoken von Logto ausgestellt wird, müssen wir:

  1. Den entsprechenden öffentlichen Schlüssel abrufen, um die Signatur zu überprüfen.
  2. Verifizieren, dass der JWT-Zugriffstoken für die Workers APIs gilt.

Diese Konstanten können in der wrangler.toml Datei konfiguriert werden [1] und werden als Umgebungvariablen der Workers bereitgestellt. Du kannst die Umgebungvariablen auch manuell im Cloudflare-Dashboard verwalten.

Nachdem wir das Workers-Projekt auf Cloudflare bereitgestellt haben, können wir testen, ob die APIs erfolgreich geschützt werden.

  1. Zugriffstoken abrufen

Zugriffstoken abrufen

JWT inspizieren

  1. Workers GET /auth/greet API anfragen

Geschützte API anfordern

Fazit

Mit der Schritt-für-Schritt-Anleitung in diesem Artikel solltest du in der Lage sein, mit Logto einen Schutz für deine Workers APIs zu erstellen.

In diesem Artikel haben wir das Wrangler CLI für die lokale Entwicklung und Bereitstellung von Workers-Projekten verwendet. Cloudflare bietet zusätzlich robuste und vielseitige Workers APIs an, um die Bereitstellung und Verwaltung zu erleichtern.

Stelle dir vor, du entwickelst eine SaaS-Anwendung. Die Cloudflare-API ermöglicht es dir, mühelos dedizierte Workers für jeden Mieter bereitzustellen, während Logto sicherstellt, dass Zugriffstoken ausschließlich für die jeweiligen Mieter gelten. Diese granulare Kontrolle verhindert unbefugten Zugriff zwischen den Mietern und erhöht so die Sicherheit und den Datenschutz für die Nutzer deiner SaaS-App.

Logtos anpassbare und robuste Architektur erfüllt die vielfältigen Authentifizierungs- und Autorisierungsanforderungen verschiedener Anwendungen. Egal, ob du eine komplexe SaaS-Plattform oder eine einfache Web-App erstellst, Logto bietet die Flexibilität und Skalierbarkeit, um deinen spezifischen Anforderungen gerecht zu werden.