当前位置: 首页 > 知识库问答 >
问题:

Rails 4真实性令牌

微生季
2023-03-14

我在开发一个新的Rails4应用程序(在Ruby 2.0.0-P0上)时遇到了一些真实性令牌问题。

在编写响应json的控制器时(使用respond_to类方法),我使用了create操作,当我试图使用curl创建记录时,我开始获取ActionController::InvalidAuthenticityToken异常。

我确保设置了-h“content-type:application/json”,并使用-d“ 设置了数据,但仍然没有成功。

编辑:我只是尝试在一个新的Rails4应用程序中使用脚手架创建一个新记录,而没有做任何更改,我遇到了同样的问题,所以我想这不是我做的事情。

共有1个答案

钱震博
2023-03-14
protect_from_forgery with: :exception
protect_from_forgery with: :null_session
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
# This is the method that defines the application behavior when a request is found to be unverified.
# By default, \Rails resets the session when it finds an unverified request.
def handle_unverified_request
  reset_session
end
def handle_unverified_request
  forgery_protection_strategy.new(self).handle_unverified_request
end
def handle_unverified_request
  raise ActionController::InvalidAuthenticityToken
end
 类似资料:
  • 问题内容: Rails似乎忽略了AJAX请求的真实性令牌。例如,我故意更改了AJAX调用以使用无效的令牌对其进行测试,并且请求似乎正常进行。 该应用程序具有使用会话cookie存储的默认配置,并在ApplicationController中具有了protect_from_forgery调用。 有什么想法我可能会错过的吗? 问题答案: 编辑>>我也在博客文章中发布了此答案:http: //zadas

  • 问题内容: 在我的rails应用程序中,我在向api的ajax发布中收到“警告:无法验证CSRF令牌的真实性”。 app / views / layouts / application.html.haml : ajax发布 : 问题答案: 假设您已使用Rails 标记设置了CSRF令牌,则请求的令牌将在meta标记中可用: 由于使用的是jQuery,因此可以通过为密钥调用以下值来将令牌传递给AJA

  • 我的rails应用程序订阅了一个外部系统POST通知(名为Orion context broker)。我管理发送json数据和处理响应(Ruby->Orion)。

  • 重复的步骤 登录 注销 从服务器登录并获取422无法验证CSRF令牌的真实性 Gems 设计3.5.2 设计令牌\u验证0.1.36 根据其他线程,解决方案是在注销时返回一个新的csrf令牌,然后在客户端的注销成功处理程序中,将XSRF-TOKEN的cookie设置为接收的令牌。我使用的代码如下。有人能告诉我为什么它不起作用吗?最后一个登录请求看起来使用了新的令牌,所以棱角分明的看起来像是从coo

  • 我可以使用内置函数来检查这一点。 我也可以在使用条件时使用这些真实性值。例如: 这不适用于运算符,但: 有人能解释为什么的行为似乎与条件不同吗?