Ich baue eine App, um besser zu verstehen, Restful Back-Ends mit Clients, die Anrufe zu ihm macht. Ich verwende schlank, um Routing- und Serviceanrufe zu bearbeiten. Ich bin jedoch auf zwei Dinge fest.2-teilige Verwirrung mit schlanken erholsamen Backend und Zweig
Teil 1 - Wenn restliche APIs keine Sitzungen verwenden sollen Wie behalte ich Informationen wie authentifiziert und user_id verfügbar? Es war mein Verständnis, diese Informationen in einem Cookie zu speichern, war eine schlechte Übung. Sobald ein Benutzer normal authentifiziert wurde, würde ich $_SESSION['uid']
verwenden.
Teil 2 - Dieser Teil ist für mich verwirrender. Ich benutze Twig für Front-End (kein cooler js Typ). Auf dem gleichen Server benutze ich Slim-View um den Zweig zu rendern. Aber das bedeutet, dass mein Backend JSON nicht sendet, es tut alles. Wie ist so etwas zu trennen? Lohnt es sich?
P1) Eine Methode besteht darin, einen dynamischen API-Schlüssel zu erstellen, der temporär ist. Mit diesem temporären Schlüssel können Sie dann jede vom Client kommende Anfrage authentifizieren und autorisieren. P2) Sie müssen Ihr "Client" -Projekt von Ihrem "Server" -Projekt entkoppeln. Ihr Client sollte immer nur Daten (zB 'JSON') vom' Server' empfangen, Ihr 'Server' sollte sich niemals darum kümmern, wie die Daten nur zum Senden des Clients dargestellt werden. – DarkBee
@DarkBee Toller Kommentar Ich hätte es als Antworten. Ein paar Fragen. P1) Wo würde der Schlüssel gespeichert? In einem Cookie? Und dann mit der Anfrage von diesem Benutzer festgelegt.Würde ich das als einen Blick von der DB für Benutzerinformationen verwenden? P2) Entkopplung ist, was ich dachte, wurde benötigt, aber es könnte immer noch mit PHP korrekt sein? Im Wesentlichen ein anderer Server, der sogar schlanke und schlanke Ansichten ausführen könnte, nehme ich an? – nerdlyist
P1) Auf der Serverseite können Sie den API-Schlüssel in einer Tabelle mit einigen Feldern speichern, um zu verfolgen, wann der Schlüssel zuletzt verwendet wurde und wie lange der Schlüssel gültig ist (http://imgur.com/UKWtL3X) kann API-Schlüssel auf der Serverseite ungültig machen/Der Client kann den Schlüssel überall speichern, aber wenn Sie PHP verwenden wollen, schlage ich vor, es in der Sitzung zu speichern. P2) Der Client kann in PHP geschrieben werden. Das einzige, was ein Client nicht tun kann, ist, die Datenbank direkt zu kontaktieren. Es muss jede Information direkt vom Server anfordern – DarkBee