如何关闭仅适用于json的railsprotect_from_forgery过滤器
||
我有一个用Rails3构建的网站,现在我想实现JSON API来访问移动客户端。但是,由于protect_from_forgery过滤器,从客户端发送json发布请求。因为客户端不会从服务器检索任何数据,所以客户端无法接收auth_token,所以我只想对json请求关闭protect_from_forgery选项(我以为rails3在默认情况下会这样做,但显然不会) 。
我知道这里讨论了类似的话题,但是在那种情况下,他在发送发布请求之前收到auth_token。
所以我的问题是仅对json关闭protect_from_forgery是这样做的好方法吗?如果是,该怎么办?如果没有,那有什么选择?
仅供参考,我使用以下ajax请求
$.ajax({
type: \'POST\',
url: \"http://www.example.com/login.json\",
data: { \'email\': emailVal, \'password\': passwordVal },
success: onSuccess,
error: onError,
dataType: \"json\"
});
并且我收到ActionController :: InvalidAuthenticityToken错误。
顺便说一句,下面的curl命令虽然有效...
curl -H \“内容类型:application / json \” -c cookies.txt -d \'{\“ email \”:emailVal,\“ password \”:passwordVal} \'-X POST http:// www .example.com / login.json -i
没有找到相关结果
已邀请:
4 个回复
碉罕城爸
闪脖
旗低饶彤
http://apidock.com/rails/v2.0.0/ActionController/RequestForgeryProtection/ClassMethods/protect_from_forgery
桑娠贯涤
中: