csrf in react and rails

问题描述 投票:0回答:1

我想在使用post请求时使用csrf token。为此,我在api控制器中使用了 protect_from_forgery with: :null_session 在顶部。

但我应该如何在react中使用。

我也找不到任何好的文章。

fetch('/api/v1/posts', {
      method: 'post',
      body: JSON.stringify(postdata),
      headers: { 'Content-Type': 'application/json' },
    })
ruby-on-rails reactjs csrf
1个回答
0
投票

根据我的理解,你需要在调用时将X-CSRF-TOKEN作为头传递给Rails。你可以使用 "X-CSRF-TOKEN"。document.querySelector('[name="csrf-token"]').content 来获取令牌。

这应该在你的 componentDidMount 方法。

   fetch('/api/v1/posts', {
      method: 'post',
      body: JSON.stringify(postdata),
      headers: {
        'Content-Type': 'application/json',
        'X-CSRF-TOKEN': document.querySelector('[name="csrf-token"]').content
      },
    })
© www.soinside.com 2019 - 2024. All rights reserved.