【发布时间】:2012-01-07 23:42:05
【问题描述】:
我发现 Devise 无法正确响应 JSON 消息。
以下工作正常
curl -XPOST 'http://localhost:5000/users/sign_in.json' -d 'user[email]=MYUSER' -d 'user[password]=MYPASSWORD'
在 171 毫秒内完成了 201 个创建
在适当的地方,我想要一个更合适的 JSON 格式
curl -v -b cookie.file -c cookie.file -H "Content-Type: application/json" -X POST -d '{"user":{"mail":"MYUSER","password":"MYPASSWORD"}}' http://localhost:5000/users/sign_in.json
但我似乎没有工作
Devise::SessionsController#create as JSON 处理 23:10:32 web.1 |参数:{"user"=>{"mail"=>"MYUSER", "password"=>"[FILTERED]"}, "session"=>{"user"=>{"mail"=>"MYUSER" , "password"=>"[FILTERED]"}, "action"=>"create", "controller"=>"devise/sessions", "format"=>"json"}} 23:10:32 web.1 | 11ms 内完成 401 Unauthorized
有什么想法吗? 谢谢
【问题讨论】:
-
它对安全问题犹豫不决。 CSRF 代表跨站点请求伪造。 en.wikipedia.org/wiki/Cross-site_request_forgery
-
警告对这两种情况都很常见(在成功的情况下,我也有“警告:无法验证 CSRF 令牌真实性”,这来自protect_from_forgery),但可能是一个令人困惑的点,我将编辑帖子。谢谢。
-
是什么让您认为第二版不起作用?我没有看到任何其他警告或错误消息。
-
401 未授权。 JSON 结果应该包含身份验证令牌(这是我设置 rails 控制器的方式),但在第二种情况下为空。
标签: ruby-on-rails json devise