2012-10-17 4 views
4

Play 2.xbackbone.js과 함께 사용하려고합니다. 제 의도는 서버 끝에서 RESTful API를 작성하는 것입니다 (모든 응답 본문은 JSON에 있고 모든 요청 본문은 JSON에도 있음).Play의 REST API 보안 설정

내 요청을 인증하기 위해 Facebook OAuth (서버 측)를 사용하고 싶습니다. 이 목적을 위해 OAuth에 play-authorize을 사용하고 있습니다. 내가 가지고있는 문제는 사용자 세션 정보가 Play의 세션 개체에 저장된다는 것입니다. HTML 코드에서 play-templates를 사용하고 싶지는 않지만, play-templates없이 클라이언트 측에서 Session Object를 어떻게 사용할 수 있습니까?

또한 Play를 사용하는 동안 CSRF/XSS 공격을 막기 위해 사용할 수있는 조치는 무엇입니까?

답변

0

어쩌면 나는 당신의 질문을 오해하고있다. 그러나 Play는 무국적이라는 것을 알고 있어야한다. 즉, "세션"은 서버로 전송되는 쿠키에 저장됩니다. 해당 쿠키에 문자열 값을 저장하고 브라우저에서 액세스 할 수 있습니다.

이제는 중요한 값은 저장하지 않고 서버 측 코드는 인식하여 문제를 해결할 수 있습니다.

+0

실제로 클라이언트 측에서 재생 세션에 액세스 할 수 없다는 관련 질문이 http://stackoverflow.com/questions/12964102/access-playframework-session-in-javascript에있었습니다. 나는 또한 플레이 쿠키가 암호화되어 있으므로 읽을 수 없게된다는 것을 이해합니다. 이 페이지에서 계속 진행되는 HTTP 요청에서 쿠키를 전달하려고하지만 액세스 할 수 없습니다. 그것은 조금 도움이 될 것입니다. – rOrlig

+0

쿠키 값은 클라이언트가 쿠키 데이터를 수정할 수 없도록 (또는 무효화되도록) 비밀 키로 서명됩니다. 나는 그들이 암호화되어 있다고 생각하지 않는다. 즉, 당신이 가치를 얻을 수 있어야한다는 것을 의미합니다 (부여 된 적이 없으며 결코 시도되지 않았습니다) –