反应中的 csrf 和 rails
csrf in react and rails
我想在使用 post 请求时使用 csrf 令牌。为此,在 api 控制器中,我在顶部使用了 protect_from_forgery with: :null_session
。
但是我应该如何在反应中使用它。
我也找不到任何关于此的好文章。
fetch('/api/v1/posts', {
method: 'post',
body: JSON.stringify(postdata),
headers: { 'Content-Type': 'application/json' },
})
据我了解,您需要在调用时将 X-CSRF-TOKEN 作为 header 传递给 Rails。您可以使用 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
},
})
我想在使用 post 请求时使用 csrf 令牌。为此,在 api 控制器中,我在顶部使用了 protect_from_forgery with: :null_session
。
但是我应该如何在反应中使用它。
我也找不到任何关于此的好文章。
fetch('/api/v1/posts', {
method: 'post',
body: JSON.stringify(postdata),
headers: { 'Content-Type': 'application/json' },
})
据我了解,您需要在调用时将 X-CSRF-TOKEN 作为 header 传递给 Rails。您可以使用 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
},
})