Fortgeschrittene Authentifizierungsmuster — OAuth 2.0, JWT, Schlüsselrotation

Meistern Sie anspruchsvolle Authentifizierungsmechanismen für die Integration der Smart Money API in Unternehmensumgebungen. Lernen Sie OAuth 2.0-Abläufe, JWT-Token-Muster, sichere Schlüsselrotation und die Implementierung von Multi-Faktor-Authentifizierung.

Veröffentlicht am 21. März 2026 18 Min. Lesezeit Fortgeschritten

Authentifizierungsübersicht

Die Smart Money API unterstützt mehrere Authentifizierungsmethoden, die für verschiedene Anwendungsarchitekturen, Sicherheitsanforderungen und Organisationsrichtlinien ausgelegt sind. Das Verständnis dieser Muster stellt sicher, dass Ihre Integration sowohl sicher als auch leistungsfähig ist.

Die Authentifizierung in der Smart Money API erfolgt auf drei primären Ebenen:

  • API-Schlüssel — Einfache Bearer-Token-Authentifizierung für die Entwicklung und unkomplizierte Integrationen
  • JWT-Token — Zustandslose, kryptografisch signierte Token für verteilte Systeme und Microservices
  • OAuth 2.0 — Delegiertes Autorisierungsframework für Drittanbieterintegrationen und SaaS-Anwendungen

Sicherheitsprinzip: Geben Sie niemals Authentifizierungsdaten in clientseitigem Code, Protokollen, Versionskontrollen oder Fehlermeldungen preis. Implementieren Sie eine regelmäßige und sofortige Schlüsselrotation bei Kompromittierung.

Jede Methode hat besondere Vorteile. API-Schlüssel eignen sich am besten für die Backend-zu-Backend-Kommunikation, bei der die Speicherung der Anmeldedaten kontrolliert wird. JWT-Token sind ideal für verteilte Architekturen, in denen kein gemeinsamer Zustand verfügbar ist. OAuth 2.0 ermöglicht nutzerdelegierten Zugriff für Drittanbieteranwendungen.

API-Schlüssel-Authentifizierung

API-Schlüssel sind der einfachste Authentifizierungsmechanismus – es handelt sich um zufällige Zeichenketten, die für Ihr Konto generiert werden und Ihre Anwendung gegenüber der Smart Money API identifizieren. Jede Anfrage muss Ihren API-Schlüssel entweder als Header oder Abfrageparameter enthalten.

Header-basierter API-Schlüssel

Die empfohlene Methode ist die Übergabe Ihres API-Schlüssels im Authorization-Header unter Verwendung des Bearer-Schemas:

curl-Beispiel
curl -X GET "https://api.smartmoneyapi.com/v1/whales/btc" \
-H "Authorization: Bearer sk_live_1234567890abcdef" \
-H "Accept: application/json"

Abfrageparameter-API-Schlüssel

Für WebSocket-Verbindungen oder wenn Header nicht geändert werden können, übergeben Sie den API-Schlüssel als Abfrageparameter:

WebSocket-Verbindung
ws://localhost:8877/ws?api_key=sk_live_1234567890abcdef
// Stellt einen authentifizierten WebSocket-Stream her

API-Schlüssel-Eigenschaften

Eigenschaft Beschreibung
Format 128-stellige Hex-Zeichenkette mit dem Präfix sk_test_ oder sk_live_
Geltungsbereich Erbt alle Berechtigungen des Kontos, das ihn erstellt hat
Ablauf Läuft nie automatisch ab; muss manuell rotiert werden
Rotation Neuen Schlüssel generieren, Datenverkehr migrieren, dann alten Schlüssel deaktivieren
Ratenbegrenzungen Gilt für alle Anfragen, die denselben Schlüssel verwenden

Sicherheitspraktiken für API-Schlüssel

  • Umgebungsvariablen — Schlüssel in .env-Dateien speichern (nicht in der Versionskontrolle) und zur Laufzeit laden
  • Tresorsysteme — Verwenden Sie HashiCorp Vault, AWS Secrets Manager oder Azure Key Vault in der Produktion
  • Getrennte Schlüssel — Halten Sie separate Test- und Live-Schlüssel; rotieren Sie Testschlüssel häufig
  • Minimaler Umfang — Erstellen Sie nach Möglichkeit separate Schlüssel für verschiedene Integrationen
  • Audit-Protokollierung — Protokollieren Sie alle API-Schlüssel-Erstellungs- und Nutzungsereignisse
Holen Sie sich Ihren API-Schlüssel in 30 Sekunden

Bereit zu bauen? Holen Sie sich einen kostenlosen API-Schlüssel (200 Aufrufe/Tag, keine Karte) und beginnen Sie mit dem Abrufen von Live-Daten zu Walen, Finanzierungen und On-Chain-Daten.

Holen Sie sich Ihren API-Schlüssel →

Bearer-Token-Muster

Bearer-Tokens erweitern das einfache API-Schlüsselkonzept durch Hinzufügen von Kontext, Ablauf und Aktualisierungsmechanismen. Sie sind ideal für Anwendungen, die eine programmatische Verwaltung von Anmeldeinformationen benötigen.

Erhalt von Bearer-Tokens

Tauschen Sie Ihren API-Schlüssel und das Geheimnis gegen ein Bearer-Token aus, das 24 Stunden gültig ist:

GET /auth/token
curl -X POST "https://api.smartmoneyapi.com/v1/auth/token" \
-H "Content-Type: application/json" \
-d '{
"api_key": "sk_live_1234567890",
"api_secret": "secret_abc123xyz"
}'

Token-Antwortformat

Der Endpunkt gibt ein Bearer-Token mit Metadaten zurück:

Antwort
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "refresh_1234567..."
}

Verwendung von Bearer-Tokens

Fügen Sie das Token in den Authorization-Header für alle nachfolgenden Anfragen ein:

Authentifizierte Anfrage
curl -X GET "https://api.smartmoneyapi.com/v1/derivatives/funding-heatmap" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Token-Aktualisierungsfluss

Wenn ein Token kurz vor dem Ablauf steht, verwenden Sie das Refresh-Token, um ein neues zu erhalten, ohne Ihr API-Geheimnis zu benötigen:

POST /auth/refresh
curl -X POST "https://api.smartmoneyapi.com/v1/auth/refresh" \
-H "Content-Type: application/json" \
-d '{
"refresh_token": "refresh_1234567..."
}'

OAuth 2.0-Implementierung

OAuth 2.0 ermöglicht es Benutzern, Anwendungen Zugriff auf ihre Smart Money API-Konten zu gewähren, ohne Anmeldeinformationen zu teilen. Dies ist entscheidend für SaaS-Plattformen, Drittanbieter-Integrationen und Multi-Tenant-Anwendungen.

OAuth 2.0 Authorization Code Flow

Der Standardfluss für Webanwendungen:

  1. Benutzer initiiert die Anmeldung — Der Benutzer klickt auf "Mit Smart Money API verbinden"
  2. Weiterleitung zum Autorisierungsserver — Ihre App leitet den Benutzer zum Autorisierungsendpunkt von Smart Money weiter
  3. Benutzer gewährt Berechtigung — Der Benutzer überprüft die angeforderten Bereiche und gewährt Zugriff
  4. Autorisierungscode zurückgegeben — Der Benutzer wird mit dem Autorisierungscode zurückgeleitet
  5. Code gegen Token austauschen — Das Backend tauscht den Code gegen ein Zugriffstoken aus (der Code wird nie im Frontend preisgegeben)
  6. Token speichern — Speichern Sie das Refresh-Token sicher; verwenden Sie das Access-Token für API-Aufrufe

Schritt 1: Benutzer zum Autorisierungs-Endpoint umleiten

Frontend-Umleitung
// URL, zu der der Benutzer umgeleitet wird
const authUrl = new URL('https://api.smartmoneyapi.com/oauth/authorize');
authUrl.searchParams.append('client_id', 'your_client_id');
authUrl.searchParams.append('redirect_uri', 'https://yourapp.com/callback');
authUrl.searchParams.append('response_type', 'code');
authUrl.searchParams.append('scope', 'whales derivatives onchain');
authUrl.searchParams.append('state', generateRandomState());
window.location.href = authUrl.toString();

Schritt 2: Callback verarbeiten und Code austauschen

Backend-Code-Austausch
// Backend verarbeitet die /callback-Route
const code = req.query.code;
const storedState = req.session.state;
const receivedState = req.query.state;
// State-Parameter überprüfen
if (storedState !== receivedState) {
throw new Error('State mismatch - CSRF-Angriff erkannt');
}
// Code gegen Token austauschen
const tokenResponse = await fetch('https://api.smartmoneyapi.com/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
grant_type: 'authorization_code',
code: code,
client_id: process.env.OAUTH_CLIENT_ID,
client_secret: process.env.OAUTH_CLIENT_SECRET,
redirect_uri: 'https://yourapp.com/callback'
})
});
const tokens = await tokenResponse.json();
// Tokens sicher speichern

OAuth-Berechtigungen

Fordern Sie nur die Berechtigungen an, die Ihre Anwendung benötigt. Smart Money API definiert diese Bereiche:

Bereich Beschreibung
whales Zugriff auf Wallet-Tracking und Akkumulationsmetriken
derivatives Zugriff auf Futures, Perpetuals und Funding-Rate-Daten
onchain Zugriff auf On-Chain-Transaktionsflüsse und Analysen
alerts Webhook-Alerts erstellen und verwalten
offline Zugriff auf Refresh-Tokens, um neue Access-Tokens offline zu erhalten

JWT-Token-Verwaltung

JWT (JSON Web Tokens) ermöglichen zustandslose Authentifizierung – der Server muss keine Sitzungsdaten speichern. Smart Money API verwendet RS256 (RSA-Signatur mit SHA-256) für die Token-Signierung, sodass eine Überprüfung ohne Kontakt zur API möglich ist.

JWT-Struktur

JWT-Tokens bestehen aus drei durch Punkte getrennten Teilen:

JWT-Format
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFjY3QxMjM0In0.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
// HEADER.PAYLOAD.SIGNATURE

JWT-Header

Der Header identifiziert den Algorithmus und den Token-Typ:

Dekodierter Header
{
"alg": "RS256",
"typ": "JWT",
"kid": "1"
}

JWT-Payload-Ansprüche

Der Payload enthält Ansprüche (Aussagen über den Benutzer/die App):

Dekodierter Payload
{
"sub": "acct_1234567890",
"name": "Trading Bot",
"iat": 1703001600,
"exp": 1703088000,
"scopes": ["whales", "derivatives"],
"aud": "https://api.smartmoneyapi.com"
}

Überprüfung von JWT-Signaturen

Laden Sie den öffentlichen Schlüssel von Smart Money herunter und überprüfen Sie Tokens, bevor Sie sie akzeptieren:

Node.js-Überprüfung
const jwt = require('jsonwebtoken');
const fs = require('fs');
// Öffentlichen Schlüssel von Smart Money API abrufen
const publicKey = fs.readFileSync('smartmoney-public.pem');
// Token überprüfen
try {
const decoded = jwt.verify(token, publicKey, {
algorithms: ['RS256'],
audience: 'https://api.smartmoneyapi.com',
issuer: 'https://api.smartmoneyapi.com'
});
// Token ist gültig, dekodierte Ansprüche verwenden
} catch (err) {
// Token ungültig oder abgelaufen
}

Schlüsselrotationsstrategie

Regelmäßige Schlüsselrotation ist entscheidend für die Aufrechterhaltung der Sicherheit. Gehen Sie selbst bei perfekten Sicherheitspraktiken davon aus, dass Schlüssel kompromittiert werden können, und implementieren Sie eine systematische Rotation.

Rotationshäufigkeit

Smart Money empfiehlt unterschiedliche Rotationspläne basierend auf Schlüsseltyp und Verwendung:

Schlüsseltyp Empfohlene Rotation Mindestrotation
Test-API-Schlüssel Monatlich Vierteljährlich
Produktions-API-Schlüssel Vierteljährlich Jährlich
OAuth-Refresh-Tokens Automatisch (nach 90 Tagen) Manuell (nach 180 Tagen)
Dienstkontoschlüssel Halbjährlich Jährlich

Zero-Downtime-Rotationsprozess

Rotieren Sie Schlüssel ohne Dienstunterbrechung:

  1. Neuen Schlüssel generieren — Erstellen Sie einen neuen API-Schlüssel über das Dashboard oder die API
  2. Neuen Schlüssel bereitstellen — Aktualisieren Sie Anwendungsgeheimnisse in der Staging-Umgebung und testen Sie gründlich
  3. Schrittweise Einführung — Auf 10 % der Server bereitstellen und auf Fehler überwachen
  4. Vollständige Einführung — Auf verbleibende Server bereitstellen
  5. Verkehr überprüfen — Bestätigen, dass alle Anfragen den neuen Schlüssel verwenden
  6. Alten Schlüssel deaktivieren — Alten Schlüssel als inaktiv markieren, aber nicht sofort löschen
  7. Alten Schlüssel löschen — Nach 48 Stunden ohne Fehler endgültig löschen

Notfall-Schlüsselrotation

Wenn Sie vermuten, dass ein Schlüssel kompromittiert wurde:

Notfallrotation
// Sofortige Aktion: Kompromittierten Schlüssel deaktivieren
curl -X POST "https://api.smartmoneyapi.com/v1/keys/sk_live_xxx/revoke" \
-H "Authorization: Bearer token"
// Ersatzschlüssel sofort generieren
curl -X POST "https://api.smartmoneyapi.com/v1/keys" \
-H "Content-Type: application/json" \
-d '{
"name": "Notfall-Ersatzschlüssel"
}'

Automatisierte Rotation in Kubernetes

Verwenden Sie Kubernetes Secrets und Operatoren für die automatische Rotation:

CronJob für Schlüsselrotation
apiVersion: batch/v1
kind: CronJob
metadata:
name: api-key-rotator
spec:
schedule: "0 0 * * 0" # Wöchentlich am Sonntag
jobTemplate:
spec:
template:
spec:
containers:
- name: rotator
image: smartmoney-key-rotator:latest

Multi-Faktor-Authentifizierung (MFA)

Für Konten mit Zugriff auf Produktionsdaten bietet MFA eine zusätzliche Sicherheitsebene, indem ein zweiter Faktor neben den Anmeldedaten erforderlich ist.

Unterstützte MFA-Methoden

  • TOTP (Time-based One-Time Password) — Apps wie Google Authenticator, Authy
  • WebAuthn/FIDO2 — Hardware-Sicherheitsschlüssel, Biometrie
  • SMS-Einmalcodes — Weniger sicher, aber universell unterstützt
  • E-Mail-Bestätigung — Bestätigungscodes an registrierte E-Mail gesendet

Aktivierung von TOTP für Kontozugriff

MFA aktivieren
// Schritt 1: MFA-Einrichtung anfordern
curl -X POST "https://api.smartmoneyapi.com/v1/account/mfa/enable" \
-H "Authorization: Bearer token"
// Antwort enthält QR-Code-URL
{
"qr_code_url": "https://...",
"secret": "JBSWY3DPEBLW64TMMQ...",
"backup_codes": ["12345678", ...]
}

MFA während API-Operationen

Einige Operationen erfordern möglicherweise eine MFA-Bestätigung auch nach der Authentifizierung:

MFA-Herausforderung
// Versuch einer sensiblen Operation (Schlüsselrotation)
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Token: mfa_challenge_abc123"
// Antwort: MFA erforderlich
{
"error": "mfa_required",
"mfa_token": "mfa_xyz789"
}
// Erneut mit TOTP-Code versuchen
curl -X POST "https://api.smartmoneyapi.com/v1/keys/rotate" \
-H "Authorization: Bearer token" \
-H "X-MFA-Code: 123456"

Sicherheits-Best Practices

Authentifizierung ist nur so stark wie ihre Implementierung. Befolgen Sie diese Praktiken, um die Sicherheit zu gewährleisten:

Geheimnisverwaltung

  • Geheimnisse niemals in die Versionskontrolle einbinden — Verwenden Sie .env-Dateien mit .gitignore
  • Umgebungsvariablen verwenden — Aus sicheren Geheimnisverwaltungssystemen laden
  • Repositorys scannen — Verwenden Sie Tools wie TruffleHog, detect-secrets, um offengelegte Schlüssel zu finden
  • Zugriffsprotokolle überprüfen — Überwachen, wer auf Geheimnisse zugegriffen hat und wann

Transportsicherheit

  • Immer HTTPS verwenden — Anmeldedaten niemals über unverschlüsselte Verbindungen senden
  • SSL-Zertifikate überprüfen — Zertifikatsvalidierung in der Produktion nicht deaktivieren
  • Zertifikats-Pinning verwenden — Für mobile Apps, um MITM-Angriffe zu verhindern
  • TLS 1.2+ erzwingen — Ältere Protokolle deaktivieren

Anmeldedatenbehandlung

  • Geheimnisse hashen — Bcrypt- oder Argon2-Hashes speichern, niemals Klartext
  • Lebensdauer minimieren — Anmeldedaten nur so lange im Speicher behalten wie nötig
  • Sensible Daten löschen — Anmeldedaten nach Gebrauch explizit überschreiben
  • Sichere Bibliotheken verwenden — Kryptografie nicht selbst implementieren

Protokollierung und Überwachung

  • Anmeldedaten niemals protokollieren — Schlüssel in Protokollen schwärzen, Protokollmaskierung verwenden
  • Authentifizierungsereignisse protokollieren — Erfolgreiche und fehlgeschlagene Anmeldeversuche verfolgen
  • Auf Anomalien überwachen — Bei ungewöhnlichen Zugriffsmustern alarmieren
  • Schlüsselverwendung überprüfen — Verfolgen, welche Schlüssel auf welche Daten zugegriffen haben

Unternehmensauthentifizierungsmuster

Große Organisationen benötigen oft zusätzliche Sicherheitskontrollen und Compliance-Fähigkeiten.

SAML 2.0-Integration

Für Unternehmenskunden unterstützt Smart Money API die SAML 2.0-Integration mit dem Identitätsanbieter Ihrer Organisation (Okta, Azure AD usw.):

  • Single Sign-On (SSO) — Benutzer authentifizieren sich über Ihren Corporate IdP
  • Automatische Bereitstellung — Konten basierend auf Gruppenmitgliedschaft erstellen/deaktivieren
  • Erzwingung — SAML für alle Benutzerzugriffe erforderlich

IP-Whitelisting

Beschränken Sie den API-Zugriff auf bestimmte IP-Adressen oder CIDR-Bereiche:

IP-Whitelist-Verwaltung
// IP zur Whitelist hinzufügen
curl -X POST "https://api.smartmoneyapi.com/v1/account/ip-whitelist" \
-H "Authorization: Bearer token" \
-d '{
"cidr": "203.0.113.0/24",
"description": "Produktionsserver"
}'

Prüfprotokollierung und Compliance

Enterprise-Pläne enthalten umfassende Prüfprotokolle für Compliance:

Ereignis Protokollierte Daten
Authentifizierung Benutzer, Zeitstempel, Erfolg/Misserfolg, IP, MFA-Status
Schlüsseloperationen Schlüssel-ID, Aktion, Initiator, Zeitstempel
Kontoänderungen Was geändert wurde, wer es geändert hat, Zeitstempel, Vorher/Nachher-Werte
Datenzugriff Benutzer, Endpunkt, Berechtigungen, Zeitstempel, Datensatzanzahl

Behebung von Authentifizierungsproblemen

Fehler: Ungültiger API-Schlüssel

Problem: Erhalte "401 Unauthorized - Invalid API Key"

Lösungen:

  • Überprüfen Sie das Schlüsselformat (sollte mit sk_test_ oder sk_live_ beginnen)
  • Prüfen Sie auf Leerzeichen am Anfang/Ende des Schlüssels
  • Bestätigen Sie, dass der Schlüssel nicht deaktiviert oder ausgetauscht wurde
  • Stellen Sie sicher, dass Sie die richtige Umgebung verwenden (Testschlüssel für Test, Live für Produktion)
  • Überprüfen Sie, ob die API-Schlüsselberechtigungen den Endpunktanforderungen entsprechen

Fehler: Token abgelaufen

Problem: Bearer-Token abgelaufen, Anfragen schlagen fehl

Lösungen:

  • Verwenden Sie das Refresh-Token, um ein neues Zugriffstoken zu erhalten
  • Implementieren Sie eine automatische Token-Aktualisierung 5 Minuten vor Ablauf
  • Bewahren Sie das Refresh-Token sicher auf (nicht in localStorage für SPAs)
  • Behandeln Sie 401-Antworten durch Versuch des Refresh-Token-Flows

CORS/Preflight-Fehler

Problem: Browser blockiert Anfragen mit CORS-Fehler

Lösungen:

  • API-Aufrufe von Browsern müssen von zugelassenen Ursprüngen stammen
  • Fügen Sie Ihre Domain über das Dashboard hinzu: Einstellungen → CORS-Origins
  • Browser sendet automatisch OPTIONS-Preflight-Anfrage
  • Für die Entwicklung verwenden Sie localhost:3000 oder ähnliches

MFA-Challenge wird nicht abgeschlossen

Problem: Operationen, die MFA erfordern, schlagen trotz korrektem Code fehl

Lösungen:

  • Stellen Sie sicher, dass die Serveruhr synchronisiert ist (TOTP basiert auf Zeit)
  • Code ist nur 30 Sekunden gültig, generieren Sie einen neuen
  • Verwenden Sie Backup-Codes, wenn die Authenticator-App nicht verfügbar ist
  • Kontowiederherstellung über registrierte E-Mail möglich

Implementieren Sie noch heute sichere Authentifizierung

Smart Money API unterstützt unternehmensweite Authentifizierung mit OAuth 2.0, JWT, MFA und SAML-Integration. Sichern Sie Ihre API-Integration mit branchenüblichen Best Practices.

Enterprise-Pläne anzeigen
Benötigen Sie SAML, IP-Whitelisting oder dedizierten Support? Kontaktieren Sie unser Vertriebsteam.

Verwandte Ressourcen

Kostenlos starten — 200 Aufrufe/Tag, keine Karte

Erhalten Sie Live-Daten zu Whaleflows, Funding, Open Interest und On-Chain-Daten über 3 Börsen von einer API. Kostenlose Stufe, keine Kreditkarte, jederzeit upgraden.

Kostenlos starten →
Live-API-Konsole testen → (kein Konto erforderlich)