ruby-警告:如果进行API开发,则无法验证CSRF令牌的真实性

我现在正在使用Ruby on Rails开发Web API。 当Rails应用收到没有任何csrf令牌的POST请求时,将发生以下错误消息。 因为该应用程序没有视图。

WARNING: Can't verify CSRF token authenticity

所以我的问题是在这种情况下如何安全地逃避csrf令牌检查?

提前非常感谢您。

gipcompany asked 2020-02-14T11:07:56Z
2个解决方案
67 votes

您可以通过添加

skip_before_filter  :verify_authenticity_token

给您的控制器。 这样,所有传入控制器的请求都会跳过:verify_authenticity_token过滤器。

Kush Kella answered 2020-02-14T11:08:21Z
20 votes

对于导轨4,应该

skip_before_action :verify_authenticity_token, only: [:one_or_two_actions_here]

请注意,您应该避免在控制器的所有操作上跳过verify_authenticity_token,而应使用选项only仅在必须执行的位置跳过。 查看文件

Bryan Dimas answered 2020-02-14T11:08:46Z
translate from https://stackoverflow.com:/questions/15040964/warning-cant-verify-csrf-token-authenticity-in-case-of-api-development