Erholsamen Benutzer-Authentifizierung service

Hey Leute, dies scheint die Diskussion ziemlich oft, aber ich will eine einfache, verwässert Frage herum tun Authentifizierung mit RESTful services. Das Szenario ist wie folgt:

  • Es ist ein system, dass die Häuser registrierte Benutzer für eine Anwendung. Das system stellt eine RESTful-API für den Zugriff auf diesen Benutzer.
  • Es ist ein front-end-Anwendung, die über ein login-Formular. Die Anwendung kann entweder intern oder extern.
  • Die front-end-Anwendung benötigt, um die Daten in der User-system, einen Benutzer zu authentifizieren.

Nun ist die Frage, wie die Authentifizierung eines Benutzers, dessen Anmeldeinformationen (Benutzername/Passwort) eingegeben werden, in der client-Anwendung gegen die Daten in der User-system, so dass es sicher und performant? Für die Zwecke dieser Frage, angenommen, die client-Anwendung ist von der internen auf eine Art von Intranet, aber die Anwendungen nicht unbedingt auf der gleichen Maschine und können nur kommunizieren über den service.

Ich verstehe die Idee, die Anwendung als "hypermedia-getriebenen" aber wir sollten in der Lage sein zu Filterung/Suche-Dienste. Betrachten Sie zum Beispiel die Ressourcen und die API wie folgt:

  • http://example.com/users
    • BEKOMMEN - ruft alle Benutzer ("paged", " hypermedia-getriebene)
    • POST - erstellt neue Benutzer
    • SETZEN/LÖSCHEN nicht unterstützt
  • http://example.com/users/[id]
    • GET - gibt eine vollständige Repräsentation eines Benutzers mit der id = {id}
    • SETZEN - updates Benutzer, nimmt in einer definierten Medientyp
    • LÖSCHEN - löscht den Benutzer (mit entsprechender Berechtigung)
    • POST nicht unterstützt

Basierend auf den oben, meine Idee wäre, die client-Anwendung auf der user-Auflistung, Filterung nach Benutzernamen. Der service den das gehashte Passwort und Salz an den client, der client die Authentifizierung ausführen.

Gedanken?

  • Können Sie etwas konkreter über das, was die Frage ist? Ich bin eine schwierige Zeit zu verstehen, welche Art von feedback Sie möchten.
Schreibe einen Kommentar