Wichtiger Sicherheitshinweis
Grundsatz „Sicherheit zuerst“: Bei der Entwicklung und Bereitstellung von Drittanbieteranwendungen ist Sicherheit der wichtigste Aspekt. Sie müssen die nachstehenden Sicherheitsprinzipien strikt einhalten, um die Sicherheit der Nutzerdaten und des Autorisierungsprozesses zu gewährleisten. Ein Verstoß gegen eines der oben genannten Sicherheitsprinzipien kann zu schwerwiegenden Sicherheitslücken führen!📋 Inhaltsverzeichnis
- Überblick
- Erste Schritte
- OAuth2-Autorisierungsablauf
- API-Referenz
- SDK und Codebeispiele
- Best Practices für die Sicherheit
- FAQ
- Technischer Support
Überblick
Wir bieten eine offene API auf Basis des OAuth2-Standards an, die es Drittanbieteranwendungen ermöglicht, sicher auf die Basisinformationen und den Kontostand der Nutzer zuzugreifen. Über unseren OAuth2-Dienst kann Ihre Anwendung:- 🚀 Ein-Klick-Anmeldung: Nutzer müssen sich nicht erneut registrieren; die Anmeldung erteilt die Autorisierung automatisch und sorgt für ein wirklich nahtloses Erlebnis
- 👤 Nutzerinformationen abrufen: Zugriff auf das Basisprofil der Nutzer (Benutzername, E-Mail usw.)
- 💰 Kontostand einsehen: Den Kontostand der Nutzer in Echtzeit abrufen
- 🔄 Aufladungs-Weiterleitung: Nutzer zu unserer Aufladungsseite leiten, um das Konto aufzuladen
- 🔐 Automatische Token-Erneuerung: Eingebauter Refresh-Token-Mechanismus für eine nahtlose Token-Erneuerung und ein besseres Nutzererlebnis
Erste Schritte
1. Entwicklerkonto registrieren
Zunächst müssen Sie ein Entwicklerkonto in unserem System registrieren.2. OAuth-Anwendung erstellen
Erstellen Sie Ihre OAuth-Anwendung in der Entwicklerkonsole:API call example
3. Redirect-URI konfigurieren
Stellen Sie sicher, dass Ihre Redirect-URI die folgenden Anforderungen erfüllt:- Verwendet das HTTPS-Protokoll (für die Produktion)
- Verweist auf einen Endpunkt Ihres Servers (keine Frontend-Seite)
- Die Domain ist registriert und erreichbar
- Der Pfad ist spezifisch für den API-Endpunkt, der den Callback verarbeitet
OAuth2-Autorisierungsablauf
Sicheres Ablaufdiagramm
Schritt-für-Schritt-Anleitung
Schritt 1: Nutzer zur Autorisierung führen
Fügen Sie auf Ihrer Frontend-Seite eine Anmeldeschaltfläche hinzu. Beim Klick erfolgt eine Weiterleitung auf den serverseitigen Autorisierungs-Endpunkt:Frontend code - only responsible for redirecting
Schritt 2: Serverseitiger Autorisierungs-Handler
Implementieren Sie den Autorisierungs-Handler auf Ihrem Server:Server-side code
Schritt 3: Autorisierungs-Callback verarbeiten (serverseitig)
Server-side authorization callback handler
Schritt 4: Frontend ruft Nutzerinformationen ab
Frontend fetches user info via API proxy
Server-side API proxy
API-Referenz
1. Autorisierungs-Endpunkt
GET/api/oauth2/authorize
Führt den Nutzer durch die OAuth2-Autorisierung.
Parameter:
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
client_id | string | Ja | Client-ID der Anwendung (im Frontend verwendbar) |
redirect_uri | string | Ja | Callback-URI nach der Autorisierung (muss auf einen Server-Endpunkt verweisen) |
response_type | string | Ja | Fest: code |
scope | string | Nein | Berechtigungsumfang, durch Leerzeichen getrennt |
state | string | Ja | Zufallszeichenfolge zur Abwehr von CSRF-Angriffen (serverseitig generiert) |
auto_authorize | string | Nein | Auf true setzen, um die automatische Autorisierung zu aktivieren |
redirect_urimuss exakt mit der registrierten Adresse übereinstimmenstatemuss eine serverseitig generierte Zufallszeichenfolge sein- HTTPS muss verwendet werden (in der Produktion)
profile: Zugriff auf die Basisinformationen des Nutzers (Benutzername, E-Mail)balance: Zugriff auf den Kontostand des Nutzers
2. Token-Endpunkt
POST/api/oauth2/token
Wird in zwei Szenarien verwendet:
- Austausch des Authorization-Codes gegen ein Access Token
- Verwendung des Refresh Tokens zum Abrufen eines neuen Access Tokens
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
grant_type | string | Ja | Fest: authorization_code |
code | string | Ja | Authorization-Code |
redirect_uri | string | Ja | Muss mit der bei der Autorisierung verwendeten URI übereinstimmen |
client_id | string | Ja | Client-ID der Anwendung |
client_secret | string | Ja | Client-Secret der Anwendung (nur serverseitig) |
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
grant_type | string | Ja | Fest: refresh_token |
refresh_token | string | Ja | Refresh Token |
client_id | string | Ja | Client-ID der Anwendung |
client_secret | string | Ja | Client-Secret der Anwendung (nur serverseitig) |
3. Nutzerinformations-Endpunkt
GET/api/oauth2/userinfo
Ruft die Basisinformationen des Nutzers und den Kontostand ab.
Anforderungs-Header:
header
response
SDK und Codebeispiele
JavaScript-SDK
Wir stellen ein vollständiges JavaScript-SDK bereit, das Sie direkt verwenden können:OAuth-Callback-Seite
Erstellen Sie eine Datei/oauth/callback.html:
Node.js-Backend-Beispiel
Aus Sicherheitsgründen wird empfohlen,client_secret im Backend zu verarbeiten:
Best Practices für die Sicherheit
1. Schutz des Client-Secrets
- ✅ Empfohlen:
client_secretauf dem Backend-Server speichern - ❌ Vermeiden:
client_secretim JavaScript-Code des Frontends offenlegen
2. Validierung des State-Parameters
3. Verwendung von HTTPS
- In der Produktion muss
HTTPSverwendet werden - Die Callback-URI muss
HTTPSverwenden - Alle API-Anfragen nutzen
HTTPS
4. Sichere Speicherung von Tokens
5. Fehlerbehandlung
FAQ
Q1: Wie erreicht man ein echtes Ein-Klick-Anmeldeerlebnis?
A: Fügen Sie der Autorisierungs-URL einfach den Parameterauto_authorize=true hinzu. Nach der Anmeldung des Nutzers wird die Autorisierung automatisch erteilt – ohne zusätzlichen Bestätigungsschritt:
Q2: Werden Tokens automatisch aktualisiert?
A: Ja, in unser SDK ist eine automatische Token-Aktualisierung integriert:- Access Token: 2 Stunden gültig, automatische Aktualisierung 5 Minuten vor Ablauf
- Refresh Token: 30 Tage gültig, wird verwendet, um neue Access Tokens zu erhalten
- Nahtlose Aktualisierung: Alle API-Aufrufe prüfen automatisch abgelaufene Tokens und aktualisieren sie bei Bedarf
- Wiederholung bei Fehlern: Gibt die API einen 401-Fehler zurück, wird automatisch versucht, das Token zu aktualisieren und die Anfrage erneut zu senden
Q3: Welche Nutzerinformationen kann ich abrufen?
A: Je nach autorisiertem Scope können Sie Folgendes erhalten:- Scope
profile: Benutzername, E-Mail - Scope
balance: Informationen zum Kontostand
Q4: Wie teste ich die OAuth-Integration?
A:- Verwenden Sie in der Entwicklung
HTTP localhostzum Testen - Nutzen Sie unsere bereitgestellten Test-Tools, um den Autorisierungsablauf zu verifizieren
- Prüfen Sie die Netzwerkanfragen in den Entwicklertools Ihres Browsers
Q5: Welche Programmiersprachen werden unterstützt?
A: Unsere OAuth2-API ist standardkonform und unterstützt alle gängigen Programmiersprachen:- JavaScript/Node.js
- Python
- PHP
- Java
- C#/.NET
- Go
- Ruby