Ich sah in einigen Unternehmen REST Web-Service-Dokumentation, in Schritt 1 für APIkey und sie werden Serverzeit und Ablaufzeit und auth_key als Antwort zurückgeben. In Schritt 2 für die Anmeldung Benutzername Passwort und MD5 von beiden apikey und auth_key wird es Session ID zurückgeben. Im verbleibenden Schritt Benutzer nur Sitzungs-ID zu senden. Wie es möglich ist? Ich bin verwirrt, bitte helfen Sie mir jemand in Bezug auf dieseSo verwenden Sie die Sitzung in REST-API
1
A
Antwort
5
Sie sind nicht tatsächlich die Verwendung einer session
im Sinne eines PHP session_start()
. Was sie tun können wirklich in wenigen Schritten erklärt werden:
- Sie für einen API-Schlüssel fragen:
- Der Dienst dann eine
auth_key
mit einer Lebensdauer - Speichert die
api key
, erzeugt erzeugtauth_key
undexpiry
zu einer Datenbanktabelle. Dieapi key
ist sehr wahrscheinlich ein eindeutiger Index auf dem Tisch. - Sendet eine Antwort an den Benutzer, der die generierten
api key
,auth_key
und dieexpiry
der Schlüssel enthält.
- Der Dienst dann eine
- Sie senden Ihre Login-Daten, zusammen mit der
md5(api_key . auth_key)
: Ich erwarte, dass Sie wahrscheinlich auch senden Sie dieapi key
in einer Kopfzeile.- Es nutzt zunächst die empfangene
api key
die Datenbank-Tabelle abzufragen - Ruft den
auth_key
Wert und - Checks Ablauf dass die
auth_key
nicht überschritten ist; wenn es nicht - das hat Ermittelt
md5(api_key . auth_key)
- es Vergleichbar die
md5(api_key . auth_key)
aus Ihrer Anfrage - Wenn es das gleiche ist, dann überprüft es Ihre Login-Daten
- Wenn die Login-Daten korrekt sind, es erzeugt unique
session_id
verbunden mit demauthenticated account
- Es speichert diese Details in eine andere Datenbanktabelle:
session_id
,account_id
. Ich benutze Konto ID hier, weil es am wahrscheinlichsten zu verwenden ist. - Es gibt diese
session_id
an Ihren Kunden
- Es nutzt zunächst die empfangene
- Jeder bitten Sie danach senden mit der
session_id
arbeitet dann wie folgt:- Sie der
session_id
aus der Anforderung abrufen - Es wird versucht, die abgerufen werden Konto mit der
session_id
aus der Datenbank verbunden - Wenn gefunden/gültig und Sie haben Zugriff/Berechtigungen, um die Operation auszuführen, führt es den Befehl.
- Sie der
Zusammenfassend, das heißt der gesamte Fluss; Deshalb habe ich früher gesagt, dass es Sitzungen nicht in der Weise verwendet, wie Sitzungen funktionieren, wenn Sie eine session_start()
; das heißt, sie können so etwas wie $_SESSION
nicht tun. Sie sollten auch wissen, dass der Versuch, Sitzungen mit session_start
für eine RESTful-API auszuführen, NICHT RESTful ist.
Verwandte Themen
- 1. So verwenden Sie Sitzung in Laravel 5.2 Controller
- 2. So löschen Sie die Sitzung beim Abmelden
- 3. So verwalten Sie Sitzung in MVC-Anwendung
- 4. So beenden Sie alte Sitzung in iTerm2
- 5. So zerstören Sie Sitzung in Clientsitzungen
- 6. Verwenden Sie Sitzung in Heroku Scheduler
- 7. PassportJS + RestAPI + SPA
- 8. So verwenden Sie die Systemkatalogsicht
- 9. So verwenden Sie die Nichtmitgliedsfunktionssperre
- 10. So verwenden Sie die Schnittstelle in Konstante
- 11. So trennen Sie eine Hibernate-Sitzung
- 12. So verwenden Sie kAudioSessionProperty_OverrideCategoryMixWithOthers
- 13. So speichern Sie die Sitzung im Frühjahr MVC
- 14. So beenden Sie die Sitzung beim Schließen des Browsers
- 15. So beenden Sie die Sitzung im Frühjahr 3
- 16. So lösen Sie eine innere Bildschirm Sitzung
- 17. Die gleichen Netzwerkbenutzer verwenden dieselbe Sitzung
- 18. So legen Sie einen Einkaufswagen insgesamt in einer Sitzung
- 19. So ändern Sie SparkContext-Eigenschaften in Interaktive PySpark-Sitzung
- 20. specs2: So verwenden Sie die Option "failtrace"
- 21. So verwenden Sie die Ref.view-Modell-Funktion
- 22. So verwenden Sie die CHCSVParser-Klasse
- 23. So verwenden Sie dplyr für die Programmierung
- 24. So verwenden Sie die Paginate-Methode
- 25. So speichern Sie Ergebnisse der SQL-Abfrage in Sitzung
- 26. So verwenden Sie die folgende REST-API:
- 27. Kann OWIN Middleware die http Sitzung verwenden?
- 28. So verwenden Sie die Methode "create_web_element"
- 29. So aktivieren Sie Sitzung mit SSL wsHttpBinding in WCF
- 30. So verwenden Sie Goutte
Wie ist was genau möglich? – IceFire
Ich bin neu in der REST-API, also suchte ich nach Session in REST-API: einige Antworten in Stack-Überlauf Ich sah, dass die Verwendung der Sitzung in REST-API nicht möglich, weil wir direkte Anfrage vom Browser nicht so schwer zu erhalten halte session.but in dieser dokumentation sagte sie über session id, deshalb habe ich verwirrt, es ist möglich oder nicht – Arun