2

这是我的设置

const token = $('meta[name="csrf-token"]').attr('content');
const authLink = setContext((_, { headers }) => {
  // return the headers to the context so httpLink can read them
  return {
    headers: {
      ...headers,
      credentials: 'same-origin',
      'X-CSRF-Token': token,
      'authenticity_token': token,
    }
  }
});

我正在尝试两者X-CSRF-Tokenauthenticity_token并且在我的 GQL 请求中,我可以看到它已正确添加到标题中。我正在从 Rail 中获取它,= csrf_meta_tags并且该值不是 null 或未定义。

Can't verify CSRF token authenticity.我不断从 Rails 服务器获得 422 。

4

1 回答 1

3

您可以尝试以这种方式读取 CSRF 令牌:
document.querySelector('meta[name="csrf-token"]').getAttribute('content')

据我所知,你不能在$这里使用 jQuery 选择器。
另外,'X-CSRF-TOKEN'在我身边工作

于 2018-03-23T12:23:54.617 回答