我正在開發一個具有使用Play Framework Scala的服務器端和客戶端AngularJS的應用程序。Auth0解耦客戶端/服務器端
我想僅在服務器端進行身份驗證管理,因爲我必須同時保護API和應用程序本身,並且要保持會話「集中」在我的服務器上。
但是由於我沒有使用Play Framework視圖模板(爲了讓我的客戶端和我的服務器端獨立),我無法像在示例中那樣將用戶配置文件信息傳遞到客戶端。
我試圖在我的Angular模板上列出我的緩存和我的Cookie鍵,但我似乎無法找到任何東西。
有沒有什麼辦法可以使用Angular獲取會話信息?由Play Framework請求和管理會話? (我不能在文檔的任何地方找到它)
這是我如何使我的角客戶端頭版(播放框架只做API的路由與此頭版路由)
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")
}
這是怎麼了在文檔例子做:
def index = AuthenticatedAction { request =>
val idToken = request.session.get("idToken").get
val profile = Cache.getAs[JsValue](idToken + "profile").get
Ok(views.html.user(profile))
}
我需要獲得「輪廓」跨越我的模板,但我不希望有斯卡拉HTML模板:我想用純角模板保持保持我的客戶端/服務器端獨立(僅通過API進行通信)
編輯21/06/2016:我沒有找到直接從Angular獲取會話信息的方法,但是我能夠通過擴展API來返回它,並且我更喜歡該解決方案!看到https://stackoverflow.com/a/37942787/4884034
所以,我嘗試了你的兩個選項,第一個我仍然沒有找到Angular上的任何東西,當我做$ cookies.getAll()時,對於withCookies我得到一個執行異常Cookie值包含一個無效的char: 「withSession似乎是一個很好的解決方案,但它存儲在哪裏? – Daniel