Secret festlegen
Ribaunt signiert jedes Challenge-Token mit einem Secret, das du kontrollierst. Füge
RIBAUNT_SECRET zu deiner Serverumgebung hinzu – über eine .env-Datei, den Secrets-Manager deiner Hosting-Plattform oder wie auch immer du deine Serverkonfiguration verwaltest.Server-Endpunkte erstellen
Du benötigst zwei Endpunkte: einen, der Challenges ausstellt, und einen, der Lösungen verifiziert. Hier ist ein vollständiges Express-Beispiel mit den Funktionen
createChallenge und verifySolution aus ribaunt.createChallenge akzeptiert drei Parameter:| Parameter | Standard | Beschreibung |
|---|---|---|
difficulty | 5 | Anzahl der führenden Nullen, die im SHA-256-Hash erforderlich sind. Höhere Werte verlängern die Lösungszeit. |
amount | 4 | Anzahl der zu erstellenden Challenge-Tokens. |
ttlSeconds | 30 | Lebensdauer des Challenge-Tokens in Sekunden. |
verifySolution gibt ein Promise<boolean> zurück. Die Funktion validiert die JWT-Signatur, prüft den Ablauf, bestätigt, dass die Nonce einen Hash mit den erforderlichen führenden Nullen erzeugt, und blockiert standardmäßig Wiederholungen über prozesslokalen Speicher.Widget in dein Frontend einbinden
Binde das Ribaunt-Web-Component-Skript ein und platziere das Wenn du React verwendest, importiere stattdessen die Wrapper-Komponente anstelle der Web-Komponente direkt. Das vollständige Beispiel findest du unter React-Integration.
<ribaunt-widget>-Element überall dort, wo du CAPTCHA-Schutz benötigst. Das Widget lädt eine Challenge von deinem Server, löst sie im Hintergrund und ruft anschließend automatisch deinen Verify-Endpunkt auf, wenn auto-verify="true" gesetzt ist.Das Widget sendet ein
verify-Event, sobald die Challenge gelöst ist. Verwende es, um deinen Submit-Button zu aktivieren oder mit dem Absenden des Formulars fortzufahren. Ein entsprechendes error-Event wird ausgelöst, wenn die Verifizierung fehlschlägt, sodass du dem Nutzer eine Rückmeldung geben kannst.Nächste Schritte
Widget-Konfiguration
Entdecke alle Widget-Attribute – Timeouts, Theming, Warnbanner und den
disabled-Zustand.React-Integration
Verwende den
ribaunt/widget-react-Wrapper mit voller Prop-Unterstützung in React und im Next.js App Router.Express-Server-Beispiel
Eine produktionsreife Express-Server-Einrichtung mit Wiederholungsschutz und strukturierten Warnungs-Callbacks.