2012-10-17 83 views
4

我正在嘗試使用Play 2.xbackbone.js作爲項目。我的意圖是在服務器端創建RESTful API(所有響應主體都使用JSON,所有請求主體也使用JSON)。保護Play的REST API

我想使用Facebook OAuth(服務器端)來驗證我的請求。爲此,我爲OAuth使用了play-authorize。我遇到的問題是用戶會話信息存儲在播放中的會話對象中。我真的不想在我的HTML代碼中使用播放模板,如何在沒有播放模板的情況下使用客戶端的會話對象。

在使用Play時,我還可以使用哪些措施來防止CSRF/XSS攻擊。

回答

0

也許我誤解了你的問題,但請注意,Play是無狀態的。這意味着「會話」存儲在發送到服務器的cookie中。您可以將字符串值存儲到該cookie並從瀏覽器訪問它們。

現在,您不希望將關鍵值存儲在那裏,但是服務器端代碼可以識別並且可以幫助您解決問題。

+0

其實我有相關的問題http://stackoverflow.com/questions/12964102/access-playframework-session-in-javascript關於無法訪問客戶端的播放會話。我也明白,該cookie是加密的,因此我無法閱讀。我想在此頁面上的HTTP請求中傳遞cookie,但無法訪問它。這會有所幫助。 – rOrlig

+0

Cookie值是使用密鑰簽名的,因此客戶端無法修改cookie數據(否則它將失效)。我不認爲他們是加密的。這意味着你應該能夠獲得價值(授予,從未嘗試過) –