@debind/sdk
v0.7.3
Published
Gerätebindung für Konten: serverseitige Einbindung plus der Verbinden-Knopf als React-Komponente.
Downloads
2,511
Maintainers
Readme
@debind/sdk
Serverseitige Einbindung von Debind, plus die React-Komponente für den Verbinden-Knopf.
npm install @debind/sdkWas das Paket tut
Ein Nutzer verbindet sein Konto bei euch mit seinem Telefon. Ihr bekommt dafür einen Handle — eine Kennung für dieses Gerät, die nur bei euch gilt und bei jedem Wiedersehen dieselbe ist. Ab dann könnt ihr fragen, ob hinter einem Konto noch ein echtes Gerät steht.
Was Debind dabei nicht erfährt: wer eure Nutzer sind. Wir sehen Handles, ihr seht Nutzer. Niemand hat beide Hälften.
Server
import { createDebind } from '@debind/sdk'
const debind = createDebind({
baseUrl: process.env.DEBIND_BASE_URL!,
apiKey: process.env.DEBIND_API_KEY!,
history: meineHistorie,
})
const { binding, signals } = await debind.claim(accountId, token, session)
if (!binding.valid) { /* … */ }
if (signals.length) { /* zweiter Blick, keine Sperre */ }Gehört ins Backend, nie in den Browser: Der API-Key steht darin.
Browser
import { DebindVerbinden } from '@debind/sdk/react'
<DebindVerbinden anlass={euerSatz} onFertig={() => router.refresh()} />Auf dem Telefon ein Verbinden-Knopf mit dem Weg in den App Store darunter, am
Schreibtisch ein QR-Code. Sobald die Bindung steht, rendert die Komponente
nichts mehr und meldet es über onFertig — was danach an der Stelle steht,
entscheidet ihr.
react ist eine optionale peerDependency. Wer das SDK nur serverseitig nutzt,
braucht sie nicht.
Voraussetzungen
Node 20 oder neuer. Drei Werte von uns: DEBIND_SERVICE_ID, DEBIND_API_KEY,
DEBIND_BASE_URL. Dazu muss eure Domain bei eurem Dienst hinterlegt sein —
ohne diesen Eintrag nimmt die App keinen Code von euch an.
Weiter
INTEGRATION.mdim Paket: der vollständige Einbau, Schritt für Schritt, für Next.js mit Supabase auf Vercel.CHANGELOG.md: was sich zwischen zwei Versionen geändert hat. Solange die erste Ziffer 0 ist, kann auch ein Sprung in der zweiten Stelle etwas brechen.beispiele/nextjs/: die Dateien zum Kopieren, mitgeliefert und bei jedem Packen geprüft.
