Autor |
Nachricht |
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 11.08.2010 13:01
Titel Benutzer Authentifizierung einer API |
|
|
Hi,
ich bin momentan an einem kleinen Projekt dran.
Auf meinem Server hab ich eine API, welche Daten durch Aufruf bestimmter URLs mit verschiedenen Parametern als JSON-Objekt zurück liefert (atm simpel über http).
Auf diese API greifen verschiedene Systeme mit verschiedenen Programmiersprachen zu.
Als zweiten Schritt möchte ich nun eine Benutzer Authentifizierung darüber setzen, damit ein User auch nur die Daten abgreifen kann, welche auch für ihn bestimmt sind.
Meine Frage: Wie stell ich das am besten an?
Ich dachte dabei erstens daran die API in eine REST API umzuschreiben, damit die PUT/GET/POST/DELETE Requests (die momentan über einzelne urls laufen) schön sauber und möglichst plattformübergreifend funktionieren.
Mit Rest könnte ich doch dann auch eine einigermaßen "sichere" Authentifizierung des Benutzers durchführen oder? Leider bin ich da noch nicht so tief drin, deshalb frage ich hier erstmal um Rat. Ist es okay, den user bei jedem Request zu authentifizieren?
Wie gehe ich am besten an die Sache mit einem "REST Server" (in PHP) an und die Authentifizierung dieser Requests?
Für jeden Tipp und Link bin ich dankbar.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 11.08.2010 13:47
Titel
|
|
|
Am einfachsten ists wohl einen AuthService zu implementieren:
Code: |
Service ------------> Request -------------> Response
__________________________________________________________
Auth ------------> user + pw -.----------> authToken
Service1 ------> data + authToken ---------> Result
|
Blöde Visualisierung - aber Prinzip ist denke ich klar. Du holst als erstes ein Token, das im weiteren Verlauf zur Authentifizierung dient (und auch eine Expire-Time besitzt)
Jeder Service, der geschützt ist, muss um die Abfrage dieses Tokens erweitert werden.
Eine andere Möglichkeit wäre, es wie Twitter zu machen OAuth zu benutzen. Ist aber was komplizierter:
http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iii-security-architecture/
Zuletzt bearbeitet von bacon am Mi 11.08.2010 13:47, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 11.08.2010 14:26
Titel
|
|
|
ich wollte mir eig so wenig stress wie möglich machen.
das mit dem authtoken ist zwar eine nette sache, dennoch muss ich mich dann um expire times, mit dem speichern des tokens in einer datenbank usw befassen.
wie sieht deine meinung zu meiner "methode" aus?
ich hab halt immer bedenken, irgendwelche daten über http zu versenden.evtl könnte ich das noch etwas per https oder ssl absichern, aber hm....
// ich könnte ja Digest Authentication verwenden um meine RESTful API abzusichern?
Zuletzt bearbeitet von choise am Mi 11.08.2010 15:54, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Benutzer definierte Eingaben im Shop
[php MySQL] Benutzer Login Script gesucht
[Suche] Upload Script mit Benutzer Acount
Illustrator Dokument auf Server, Zugriff mehrerer Benutzer
|
|