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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren