Schnellstart
1. Installieren
- Web
- React Native
- iOS
- Android
npm install @surtai/guardian-web@0.3.0
npm install @surtai/guardian-rn@0.3.0
cd ios && pod install && cd ..
In Xcode: Datei → Paketabhängigkeiten hinzufügen → https://github.com/surtTech/surt-guardian-sdk eingeben, Version 0.3.0.
dependencies {
implementation("com.surt.guardian:securitysdk:0.3.0")
}
2. Initialisieren
- Web
- React Native
- iOS
- Android
Kein Initialisierungsschritt: das Web-SDK stellt eine einzelne statische collect()-Funktion bereit, ohne Provider und ohne Setup. Weiter zu Schritt 3.
import { GuardianProvider } from '@surtai/guardian-rn';
export default function App() {
return (
<GuardianProvider environment="production">
<Navigation />
</GuardianProvider>
);
}
import SurtGuardianSDK
GuardianSDK.initialize(
options: GuardianOptions(environment: .production)
)
import com.surt.guardian.GuardianSDK
import com.surt.guardian.core.Environment
import com.surt.guardian.core.GuardianOptions
GuardianSDK.initialize(
context = this,
options = GuardianOptions(environment = Environment.Production)
)
Der Client hält niemals deinen sp_live_*-API-Schlüssel. Dieser lebt auf deinem Backend, das die unten verwendeten kurzlebigen JWTs erzeugt.
3. JWT erzeugen & verifizieren
Vor jeder Verifizierung holt deine App ein kurzlebiges JWT von deinem eigenen Backend (das es über Surts Preflight-Endpoint erzeugt). In den folgenden Beispielen ist fetchVerifyJwt() dein Helfer, der den JWT-String zurückgibt.
Hole immer ein frisches JWT unmittelbar vor jedem verify()-Aufruf. Jedes JWT ist einmalig verwendbar - die Wiederverwendung eines JWT wird vom Backend abgelehnt.
- Web
- React Native
- iOS
- Android
Web ist collect-only: das SDK gibt ein verschlüsseltes Payload zurück, das dein Backend an Surt weiterleitet.
import { collect } from '@surtai/guardian-web';
async function handleSignIn() {
const { payload } = await collect({ collectLocation: false });
await fetch('/api/sign-in', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ userId: 'user_123', payload }),
});
// Dein /api/sign-in leitet `payload` an Surts Evaluate-Endpoint weiter
// und entscheidet, was an den Client zurückgegeben wird.
}
import { useGuardian } from '@surtai/guardian-rn';
function LoginScreen() {
const { verify } = useGuardian();
const handleLogin = async () => {
const jwt = await fetchVerifyJwt();
const result = await verify(jwt);
if (result.allowed) {
// Fortfahren
} else {
// Blockiert - result.riskLevel prüfen
}
};
}
let jwt = try await fetchVerifyJwt()
let result = try await GuardianSDK.shared.verify(jwt: jwt)
if result.allowed {
// Fortfahren
}
val jwt = fetchVerifyJwt()
val result = GuardianSDK.getInstance().verifySuspend(jwt = jwt)
if (result.allowed) {
// Fortfahren
}
Nächste Schritte
Wählen Sie Ihre Plattform für den vollständigen Integrationsleitfaden: