OAuth Integration
Byg sikre integrationer med Shoporama API ved hjælp af OAuth 2.0
Hvad er OAuth?
OAuth gør det muligt for eksterne applikationer at få sikker adgang til Shoporama API'et på vegne af dine brugere, uden at de skal dele deres login-oplysninger.
Sicher und geschützt
Ingen deling af passwords. Brugerne logger ind direkte hos Shoporama
Nem integration
Standard OAuth 2.0 flow som du kender fra andre tjenester
Fleksibel
Vælg præcist hvilke rettigheder din app skal have
OAuth Flow - Trin for trin
Send bruger til Shoporama
Ihre Anwendung sendet den Benutzer an den OAuth-Endpunkt von Shoporama
https://www.shoporama.dk/admin/oauth/login?
client_id=Din_App_Navn
redirect_uri=https://example.com/callback
state=unik_session_id
Benutzer meldet sich an
Der Benutzer meldet sich mit seinen Shoporama-Anmeldedaten an und wählt aus:
- Welcher Shop Zugang erhalten soll
- Zugriffsstufe (Lesen, Schreiben oder Vollzugriff)
API-Token erhalten
Nach der Authentifizierung wird der Benutzer mit dem Token zu Ihrer Anwendung zurückgeschickt:
https://example.com/callback?
token=13836332c62b718f1fa2...
shop_url=demo.shoporama.dk
shop_name=Demo Shop
api_endpoint=https://www.shoporama.dk/REST
webshop_id=1
access_level=all
state=unik_session_id
Verwenden Sie die API
Verwenden Sie das Token, um die Shoporama-API aufzurufen:
curl -H "Authorization: 13836332c62b718f1fa2..." \
https://www.shoporama.dk/REST/product
Klar til at komme i gang?
Beginnen Sie mit dem Testen des OAuth-Flows oder lesen Sie mehr über die API
Komplette Implementeringseksempler
Fuld OAuth flow implementation - klar til copy/paste
Vanilla PHP Implementation
Ren PHP uden frameworks - en enkelt fil der håndterer hele OAuth flowet
<?php
// oauth.php - Gem denne fil på din server
session_start();
// Konfiguration - RET DISSE VÆRDIER
$CLIENT_ID = "Dit App Navn";
$REDIRECT_URI = "https://din-side.dk/oauth.php";
$OAUTH_URL = "https://www.shoporama.dk/admin/oauth/login";
// Start OAuth
if (isset($_GET["login"])) {
$_SESSION["state"] = bin2hex(random_bytes(16));
$url = $OAUTH_URL . "?" . http_build_query([
"client_id" => $CLIENT_ID,
"redirect_uri" => $REDIRECT_URI,
"state" => $_SESSION["state"]
]);
header("Location: $url");
exit;
}
// Modtag token
if (isset($_GET["token"]) && $_GET["state"] === $_SESSION["state"]) {
$_SESSION["token"] = $_GET["token"];
$_SESSION["api_url"] = $_GET["api_endpoint"];
echo "Success! Token gemt.";
echo "
Test API";
exit;
}
// Test API
if (isset($_GET["test"]) && isset($_SESSION["token"])) {
$ch = curl_init($_SESSION["api_url"] . "/product?limit=1");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: " . $_SESSION["token"]]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo "" . htmlspecialchars($result) . "
";
exit;
}
// Start side
echo "Login med Shoporama";
?>
Sådan bruger du det:
- Kopier koden til en fil kaldet
oauth.php
- Ret
$CLIENT_ID
og$REDIRECT_URI
- Upload filen til din server
- Besøg siden og klik "Login med Shoporama"
Fehlersuche und häufige Probleme
Häufige OAuth-Fehler
access_denied
Dem Benutzer wurde der Zugang verweigert. Zeigen Sie eine freundliche Nachricht an und lassen Sie den Benutzer es erneut versuchen.
invalid_client
Unbekannte client_id. Überprüfen Sie, ob der Name Ihrer Anwendung korrekt ist.
invalid_redirect_uri
URI der Umleitung stimmt nicht überein. Es muss genau die gleiche URL sein.
state_mismatch
Zustandsparameter stimmt nicht überein. Möglicher CSRF-Angriff oder Timeout der Sitzung.
API-Fehler
401 Unauthorized
Das Token ist ungültig oder abgelaufen. Fordern Sie den Benutzer auf, sich erneut anzumelden.
403 Forbidden
Das Token verfügt nicht über die erforderlichen Rechte. Prüfen Sie access_level.
429 Too Many Requests
Tarifgrenze erreicht. Bitte warten Sie bis zur nächsten Anfrage.
500 Server Error
Interner Fehler. Bitte versuchen Sie es später noch einmal oder kontaktieren Sie den Support.
Tipps zur Fehlerbehebung
Test mit OAuth Test Client
Verwenden Sie unseren Test-Client, um zu überprüfen, ob Ihr OAuth-Flow korrekt funktioniert.
Test OAuth Flow →Alle Parameter protokollieren
Protokollieren Sie Status, Token und andere Parameter, um Probleme zu beheben.
Sicherheit und bewährte Praktiken
Token-Speicherung
- • Token niemals in Cookies oder localStorage speichern
- • Serverseitige Sitzungen oder verschlüsselte Datenbank verwenden
- • Token vor der Speicherung verschlüsseln
- • Token löschen, wenn sie nicht mehr verwendet werden
CSRF-Schutz
- • Verwenden Sie immer den Zustandsparameter
- • Erzeugen eines eindeutigen Status für jede Sitzung
- • Status im Rückruf überprüfen
- • Timeout-Status nach einer kurzen Zeit
HTTPS erforderlich
- • Nur HTTPS für redirect_uri verwenden
- • Alle API-Aufrufe müssen über HTTPS erfolgen.
- • Ausnahme: localhost für Entwicklung
- • Gültigkeit des SSL-Zertifikats prüfen
Zugangsebenen erklärt
Ebene | Beschreibung | Erlaubt | Nicht erlaubt |
---|---|---|---|
read | Lesezugriff auf alle Daten | GET-Anfragen an alle Endpunkte | POST, PUT, DELETE-Anfragen |
write | Daten lesen und schreiben | Alle HTTP-Methoden | Webshop löschen, Eigentümer wechseln |
all | Voller Administratorenzugang | Alles, einschließlich gefährlicher Operationen | Nichts - volle Kontrolle |
Empfehlung: Beginnen Sie während der Entwicklung mit einem "Lese"-Zugriff und steigen Sie erst dann auf "Schreib"- oder "Alle"-Zugriff um, wenn dies für die Funktionalität Ihrer Anwendung erforderlich ist.
Vollständige API-Dokumentation
Alle verfügbaren Endpunkte, Methoden und Parameter finden Sie in unserer REST-API-Dokumentation
Siehe API-Dokumentation