新手问题 如何通过 json 发送 AuthenticityToken?

zix · 2016年08月21日 · 最后由 zix 回复于 2016年08月21日 · 1960 次阅读

我现在用 arduino 向 rails 服务器 post 一段 json 来执行 create 动作。

现在的问题是如何发送 AuthenticityToken? AuthenticityToken 如何获取呢?可以自己定义吗?

放在 HTTP header 里面啊

#1 楼 @ch3n 格式是什么呢?

用 JWT 或者 OAuth2 吧

一般是放在 Authorization 里面

Rails 中 AuthenticityToken 是框架自动生成的,其目的是防止 CSRF。对于 ajax 请求,如果要予以支持,那么从页面的 meta 中提取 token,之后再设置 X-CSRF-Token 请求头就可以了(更具体的可以翻下 jquery-ujs 的源码)。楼主现在是在客户端发起 API 请求,那么可以在对应控制器中通过 protect_from_forgery unless: -> { request.format.json? },或者 skip_before_action :verify_authenticity_token 等方式适当绕过。

谢谢大家

huacnlee 关闭了讨论。 08月22日 10:23
需要 登录 后方可回复, 如果你还没有账号请 注册新账号