AngularJS-Authentifizierung + RESTful-API

Angular + RESTful Client-seitige Kommunikation mit API für Auth / (re) Routing

Dies wurde in einigen verschiedenen Fragen und in einigen verschiedenen Tutorials behandelt, aber all die vorherigen Ressourcen, auf die ich gestoßen bin, treffen den Nagel nicht ganz auf den Kopf.

In einer Nussschale muss ichEinloggen über POST vonhttp://client.foo zuhttp://api.foo/loginHaben Sie eine "angemeldet" GUI / Komponentenstatus für den Benutzer, der einelogout RouteSie können die Benutzeroberfläche "aktualisieren", wenn sich der Benutzer abmeldet / abmeldet.Das war am frustrierendstenSchützen Sie meine Routen, um den Authentifizierungsstatus zu überprüfen (falls erforderlich) und leiten Sie den Benutzer entsprechend auf die Anmeldeseite umMeine Probleme sindJedes Mal, wenn ich zu einer anderen Seite navigiere, muss ich den Anruf tätigenapi.foo/status um festzustellen, ob ein Benutzer angemeldet ist oder nicht. (ATM Ich verwende Express für Routen) Dies verursacht einen Schluckauf, da Angular Dinge wie bestimmtng-show="user.is_authenticated"Wenn ich mich erfolgreich an- / abgemeldet habe, muss ich die Seite aktualisieren (ich möchte dies nicht tun), um Dinge wie zu füllen{{user.first_name}}Wenn Sie sich abmelden, leeren Sie diesen Wert.
// Sample response from `/status` if successful 

{
   customer: {...},
   is_authenticated: true,
   authentication_timeout: 1376959033,
   ...
}
Was ich versucht habehttp://witoldsz.github.io/angular-http-auth/1http://www.frederiknakstad.com/authentication-in-single-page-applications-with-angular-js/2https://github.com/mgonto/restangular (Für mein Leben konnte ich nicht herausfinden, wiePOST mitpost data und nichtquery params. Die Unterlagen zeigten nichts in der Sache.Warum ich das Gefühl habe, den Verstand zu verlierenEs scheint, als ob sich jedes Tutorial auf eine Datenbanklösung stützt (viel Mongo, Couch, PHP + MySQL, ad infinitum), und keine stützt sich ausschließlich auf die Kommunikation mit einer RESTful-API, um den Anmeldestatus beizubehalten. Einmal eingeloggt, werden zusätzliche POSTs / GETs mit gesendetwithCredentials:trueDas ist also nicht das ProblemIch kann KEINE Beispiele / Tutorials / Repos finden, die Angular + REST + Auth ohne Backend-Sprache ausführen.Ich bin nicht zu stolz

Zugegeben, ich bin neu bei Angular und würde mich nicht wundern, wenn ich mich auf lächerliche Weise dem nähere. Ich würde mich freuen, wenn jemand eine Alternative vorschlägt - auch wenn es Suppe-zu-Nuss ist.

Ich benutzeExpress vor allem, weil ich wirklich liebeJade undStylus- Ich bin nicht mit dem verheiratetExpressRouting und werde es aufgeben, wenn das, was ich tun möchte, nur mit Angulars Routing möglich ist.

Vielen Dank im Voraus für jede Hilfe, die jemand leisten kann. Und bitte frag mich nicht bei Google, da ich ungefähr 26 Seiten lila Links habe. ;-)

1Diese Lösung basiert auf Angulars $ httpBackend-Mock, und es ist unklar, wie sie mit einem echten Server kommunizieren kann.

2Dies war die naheliegendste, aber da ich eine vorhandene API habe, mit der ich mich authentifizieren muss, konnte ich Passports 'localStrategy' nicht verwenden, und es schienwahnsinnig einen OAUTH-Dienst schreiben ... den nur ich verwenden wollte.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage