我正在使用play-2.2.3来开发API。这些API由PHP/JQuery前端访问。一个简单的例子是resetPassword API。从PHP来看,当我调用重置密码API时,它应该受到CSRF令牌的保护,这样某人就不能简单地调用API并重置他人的密码。除了使用Scala(由Play-2.2.3提供)呈现表单外,是否有一种方法可以手动使用一次性服务器端令牌,这些令牌在重置密码表单中显示为隐藏的表单字段,并在提交表单时由服务器在后请求中进行验证?
想好了如何做到这一点。
- 在游戏方面,不要在应用程序中放入任何csrf设置。conf
- 在将设置名为
PLAY_SESSION=.....-csrfToken=........
的cookie的方法上使用@AddCSRFToken
注释 - 在需要验证的API调用中,完全传递
PLAY_SESSION
cookie,在queryString中传递csrfToken=.....