Authentifizierung
API-Schlüssel
Guardian verwendet einen sp_live_*-API-Schlüssel, der vom Surt-Team bereitgestellt wird - aber in v0.3.0 wird dieser Schlüssel nur von deinem Backend gehalten. Er dient dazu, kurzlebige JWTs zu erzeugen, und gelangt niemals an den Client (mobile App oder Web). Der Client hält stets nur die kurzlebigen JWTs, die ihm dein Backend übergibt.
API-Schlüssel beschaffen
- Kontaktieren Sie das Surt-Team, um Ihre Organisationsanmeldedaten zu erhalten
- Melden Sie sich in Ihrem Surt-Dashboard an
- Navigieren Sie zu Einstellungen → Entwickler
- Kopieren Sie Ihren API-Schlüssel und speichern Sie ihn als serverseitiges Geheimnis
So funktioniert die Authentifizierung (v0.3.0)
- Dein Backend hält den
sp_live_*-API-Schlüssel (serverseitiges Geheimnis). - Vor dem Aufruf von
verify()fordert deine App einen Token von deinem eigenen Backend an. - Dein Backend ruft
POST /geolocation/preflightmitAuthorization: Bearer <api key>und dem Transaktionskontext auf und gibt danndata.token(das JWT) an die App zurück. - Deine App übergibt das JWT an
verify(jwt).
Hinweise:
- Frisches JWT pro
verify()- jedes JWT ist einmalig verwendbar. Die Wiederverwendung eines JWT wird vom Backend abgelehnt. collect()-JWT ist optional - übergib es nur, um die öffentliche IP des Geräts in das Payload einzubetten. Eincollect()-JWT kann wiederverwendet oder vollständig weggelassen werden.
Preflight-Anfrage
POST https://api.surt.com/geolocation/preflight
Authorization: Bearer sp_live_xxx
Content-Type: application/json
{
"customer_id": "user_abc123",
"transaction_type": "login",
"transaction_name": "User Login",
"name": "John Doe",
"email": "john@example.com"
}
Antwort:
{
"data": {
"token": "<jwt>"
}
}
Der Kunden- und Transaktionskontext lebt in den JWT-Claims (vom Backend zur Preflight-Zeit gesetzt), sodass der Client niemals eine Kunden-ID oder einen Transaktionstyp übergibt.
Paketzugriffstoken
Das SDK selbst wird als privates Paket vertrieben. Sie erhalten auch Zugriffstoken für die Paketinstallation. Diese sind getrennt vom oben genannten API-Schlüssel:
| Plattform | Token-Typ | Konfigurationsort |
|---|---|---|
| React Native | npm-Token | .npmrc im Projektstamm |
| iOS | GitHub-Token | ~/.netrc |
| Android | GitHub-Token | gradle.properties |
Details finden Sie in den plattformspezifischen Installationsleitfäden:
Umgebungen
| Umgebung | Basis-URL | Verwendung |
|---|---|---|
production | https://api.surt.com | Live-Betrieb |
sandbox | https://sandbox-api.surt.com | Tests und Entwicklung |
Bewahren Sie Ihren sp_live_*-API-Schlüssel jederzeit serverseitig auf - er dient ausschließlich dazu, kurzlebige JWTs zu erzeugen. Betten Sie ihn niemals in App- oder Web-Client-Code ein. Der Client hält stets nur kurzlebige JWTs.