0

我现在正在使用以下 gem 并设计,因为设计删除了对令牌身份验证的支持。 https://github.com/gonzalo-bulnes/simple_token_authentication

我在这里缺少的是,我已经完成了所有配置设置,但是当我http://localhost:3000/user/sign_in.json在 Google 上使用 RestConsole Tester 时。

我收到以下错误:

ActionController::InvalidAuthenticityToken 在 /users/sign_in.json

ActionController::InvalidAuthenticityToken 动作包 (4.0.2)

lib/action_controller/metal/request_forgery_protection.rb,第 163 行

        def initialize(controller)
          @controller = controller
         end

        def handle_unverified_request
          raise ActionController::InvalidAuthenticityToken
        end
      end
    end

    protected

有任何想法吗?

4

2 回答 2

2

您的 POST 未通过CSRF令牌检查。您可以通过暂时protect_from_forgery您的application_controller.rb哪个应该使这项工作中删除来验证这种情况。

本文提供了一种解决方案,用于覆盖对特定控制器的检查,这对于登录请求应该是安全的。

于 2014-02-25T16:01:31.090 回答
0

你可以试试这个

认证:

curl -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -X POST http://localhost:3000/users/sign_in \ -d '{"user" : { "email" : "test@example.com", "password" : "password"}}' \ -c cookie

节目:

curl -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -X GET http://localhost:3000/pages/1.xml \ -b cookie

这对我行得通。

于 2015-01-31T16:41:39.163 回答