Ich entwickle eine App, die eine Server-Seite mit Play Framework Scala und eine Client-Seite AngularJS hat.Auth0 entkoppelt Client-Seite/Server-Seite
Ich möchte die Authentifizierung nur auf der Serverseite verwalten, da ich sowohl die API als auch die Anwendung selbst sichern muss und ich möchte die Sitzungen auf meinem Server "zentralisiert" halten.
Da ich jedoch nicht das Play Framework-Templat verwende (um meine Client-Seite und meine Server-Seite unabhängig zu halten), kann ich die Benutzerprofil-Informationen nicht an die Client-Seite weitergeben, wie es in den Beispielen gemacht wird.
Ich habe versucht, meinen Cache und meine Cookie-Schlüssel auf meiner Angular-Vorlage aufzulisten, aber ich kann anscheinend nichts finden.
Gibt es eine Möglichkeit, die Sitzungsinformationen mit Angular zu greifen? die von Play Framework angeforderte und verwaltete Sitzung haben? (Ich kann es nicht überall auf der docs)
Hier ist, wie ich meine Angular Client-Seite Titelseite machen (Play Rahmen nur, dass die API-Routing und diese Titelseite Routing)
def frontPage() = AuthenticatedAction {
request =>
val idToken = request.session.get("idToken").get
val profile = cache.get[JsValue](idToken + "profile").get
Ok.sendFile(content = new File("./public/layout.html"), inline = true).as("text/html")
}
Hier ist, wie es erfolgt beispielsweise auf der docs:
def index = AuthenticatedAction { request =>
val idToken = request.session.get("idToken").get
val profile = Cache.getAs[JsValue](idToken + "profile").get
Ok(views.html.user(profile))
}
ich brauchen würde, dass „Profil“ zu vermitteln meiner Vorlage, aber ich will nicht scala hTML-Templates haben: ich möchte mit reinen Winkelschablonen halten zu halten Meine Client/Server-Seiten-Independents (nur über eine API kommunizieren)
EDIT 21/06/2016: Ich habe keine Möglichkeit gefunden, meine Sitzungsinformationen direkt von Angular abzurufen, aber ich konnte sie durch Erweitern meiner API zurückgeben, und mir gefällt diese Lösung besser! siehe https://stackoverflow.com/a/37942787/4884034
Also habe ich beide Optionen ausprobiert, mit der ersten finde ich noch nichts auf der Angular, wenn ich $ cookies.getAll(), für withCookies bekomme ich eine Ausführungsausnahme Cookie-Wert enthält ein ungültiges Zeichen: ".Session scheint eine gute Lösung zu sein, aber wo wird sie gespeichert? – Daniel