带门卫授权导轨的CSRF保护

时间:2019-08-21 11:06:02

标签: ruby ruby-on-rails-5 csrf doorkeeper

我有一个似乎无法从所有谷歌搜索中找出来的问题。我正在构建一个Rails应用程序,基本上是一个api应用程序。当我发出发布请求时,它向我返回错误“ InvalidAuthenticityToken”,因此我使用了

  skip_before_action :verify_authenticity_token

经过一番谷歌搜索后,我发现不建议您跳过此操作,因为我们的应用容易受到CSRF攻击。我也使用门卫宝石进行身份验证。我的问题是,即使我拥有用于​​身份验证的守门员宝石,我的应用程序仍然容易受到攻击吗?

我还将这段代码放在我的应用程序控制器中,并删除了上面的代码

  protect_from_forgery with: :null_session

这样安全吗?有人可以说如何正确实施吗?

1 个答案:

答案 0 :(得分:0)

在您的应用中拥有CSRF攻击防护是很好的。在api中,您可以将此令牌添加到标头,并在前端和后端之间传递令牌。我使用了来自pragmatic studio的指南来在我的应用程序中进行设置:

https://pragmaticstudio.com/tutorials/rails-session-cookies-for-api-authentication

但是,我不知道它如何与门卫一起使用(还没使用过)。