Webserver - Autorisierung prüfen

OP #4060417
Lesenswert?
• ▲
▼
Hallo,

ich habe einen Webserver auf dem viele leckere Rezepte in meiner 
Datenbank eingetragen sind. Nun stell ich eine (REST) API bereit damit 
mein Kollege Micha ein Zugriff auf mein Server bekommt. Soll heißen: Der 
Micha macht von seinem Webserver aus eine AJAX/HTTP Request zu meinem 
Webserver und bekommt ein JSON Resultat über Pfannkuchenrezepte zurück 
welche er dann in seinem Blog anzeigen kann.

Die request Query könnte so aussehen:
GET mydomain.de/api/rezept/pfannkuchen?userid=43i75832

Frage:
Wie stell man sicher dass nur Anfragen von Michas Domain zu meinem 
Server gestellt bzw verarbeitet werden dürfen und nicht Anfragen von 
anderen Domains? Mein Nachbar Andi, oder ein anderer, könnte nämlich 
leicht die o.g. Query nehmen und in seine Website einbauen und somit 
auch meine Rezepte auf seiner Website anzeigen lassen, aber das soll 
verhindert werden. Auf den HTTP Referer kann man sich ja auch nicht 
verlassen. Wie wird soetwas gelöst?
Gast #4060548
Lesenswert?
• ▲
▼
Wenn Ajax, dann ist es der Browser des Surfenden der den Request 
absendet.
Ansonsten kann Michas Webserver selber einen Request absetzen und dabei 
ein Geheimnis mitschicken, aber hej wer soll den bitte die Url kennen, 
die der Server im Hintergrund anfragt.
Falls doch dagegen gesichert werden soll, dann ein Geheimnis über TLS.

Falls doch über Browser des Surfenden dann Geheimnis zeitabhängig 
verschlüsseln in Website einbetten und und über Ajax Deinem Server 
zukommen lassen. Der entschlüsselt das Token und validiert.

Oder gleiches System wie Kerberos, oder einfach mal gesagt Michas Server 
holt von Deinem Server ein token. Dieses kommt in die Webseitenlogik und 
per Ajax Request zu Deinem Server zurück und dient als Türöffner.
Persönliche Seite #4060551
Lesenswert?
• ▲
▼
Der Hein schrieb:
> Der Micha macht von seinem Webserver aus eine AJAX/HTTP
> Request zu meinem Webserver

Macht "der Micha" das tatsächlich von seinem Webserver aus, oder macht 
das nicht vielmehr das JavaScript, das "der Micha" auf seinem Webserver 
hostet, aber "die Ramona", "der Ewald" und "das Brigitte" jeweils in 
ihren Webbrowsern ablaufen lassen, wenn sie sich die Webseite von "dem 
Micha" ansehen?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.