Rails 的 Angular 2 CSRF 令牌

Posted

技术标签:

【中文标题】Rails 的 Angular 2 CSRF 令牌【英文标题】:Angular 2 CSRF Token for Rails 【发布时间】:2016-09-28 22:38:32 【问题描述】:

我目前正在尝试使用 Angular 2 作为我的前端和 Rails 4 作为我的后端创建一个小型 Web 应用程序 - 我的后端只是一个 API,而我的前端只是发送请求。

我今天在尝试提交发布请求时遇到了 CSRF 令牌真实性错误 - 如何将这些 CSRF 标头添加到我的 Angular 2 标头中?

【问题讨论】:

什么代码产生了错误,确切的错误信息是什么? 有一个 PR:github.com/angular/angular/pull/8898 【参考方案1】:

为此使用angular_rails_csrf gem

【讨论】:

我认为这个 gem 最初是为 AngularJS 1.0 设计的 @bhanu Angular 版本没问题,1 和 2 都在标头中使用 X-XSRF-TOKEN 标记。但是那个 gem 只支持低于 5 的 rails 版本。 我不使用 rails 5

以上是关于Rails 的 Angular 2 CSRF 令牌的主要内容,如果未能解决你的问题,请参考以下文章

Angular + Rails:POST 请求 422/CSRF 错误

基本 .ajax 发布到 rails 3.2.2 脚手架,生成“警告:无法验证 CSRF 令牌真实性”

Angular 2 Spring Security CSRF 令牌

在 Rails 3 中关闭 CSRF 令牌

使用 AJAX 在 Rails 上加载 CSRF 令牌

无法解释无效的 CSRF 令牌 rails api