如何获取会话和设计密钥的真实性令牌?

时间:2014-04-17 01:07:20

标签: ruby-on-rails session authentication devise

如何获取会话和密钥的真实性令牌?

我正在使用rails和devise。 我想从iOS应用程序的webview注销,但是我收到此错误:

Can't verify CSRF token authenticity

所以我打算从会话cookie中获取令牌并使用密钥。在代码中使用密钥发布应用程序可能不是一个好主意,但我只是计划为原型执行此操作。 (如果不使用密钥,我该怎么做?)

更好的解决方案

如果您可以通过cookie访问会话,则可能有权访问html的元标记,因此您可以使用此jquery轻松检索authenticity_token:

$('meta[name=csrf-token]').attr('content')

3 个答案:

答案 0 :(得分:1)

如果您可以通过cookie访问会话,则可能有权访问html的元标记,因此您可以使用此jquery轻松检索authenticity_token:

$('meta[name=csrf-token]').attr('content')

答案 1 :(得分:0)

我在这里有几点建议。

首先,如果您不使用form_for或form_tag,我建议您使用这些。如果由于某种原因你不能,通过设置

来关闭控制器/方法的CSRF保护可能是个更好的主意。
protect_from_forgery except :my_method_i_dont_want_protection_on

在您的控制器文件中。不推荐。您有什么理由可以使用包含它的表单助手吗?

答案 2 :(得分:0)

我想你正在寻找这个form_authenticity_token

See this