ald*_*ouw 10 ruby ruby-on-rails acts-as-audited devise
背景细节
我正在使用Devise进行身份验证以登录到Rails 5应用程序.
每当我捆绑Audited或Paper Trail gem时,当我尝试#create一个新会话时(通过登录表单 - /users/sign_in),我收到以下错误:
ActionController::InvalidAuthenticityToken
Run Code Online (Sandbox Code Playgroud)
环境细节
Ruby 2.3.1
宝石:
重现步骤:
ald*_*ouw 27
事实证明,Devise文档对于这个错误非常有启发性:
对于Rails 5,请注意,protect_from_forgery不再作为before_action链的前缀,因此如果您在protect_from_forgery之前设置了authenticate_user ,则您的请求将导致" 无法验证CSRF令牌的真实性. " 要解决此问题,请更改其中的顺序你打电话给他们,或使用protect_from_forgery prepend:true.
修复是从我的应用程序控制器中更改代码:
protect_from_forgery with: :exception
Run Code Online (Sandbox Code Playgroud)
对此:
protect_from_forgery prepend: true
Run Code Online (Sandbox Code Playgroud)
在我尝试添加Audited或Paper Trail宝石之前,这个问题并没有表现出来.
| 归档时间: |
|
| 查看次数: |
7563 次 |
| 最近记录: |