我正在使用以下gem并设计,因为devise删除了对令牌身份验证的支持。 https://github.com/gonzalo-bulnes/simple_token_authentication
我在这里缺少的是,我有所有配置设置,但是当我使用Google上的RestConsole Tester点击http://localhost:3000/user/sign_in.json
时。
我收到以下错误:
的ActionController :: InvalidAuthenticityToken actionpack(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
有什么想法吗?
答案 0 :(得分:2)
您的POST未通过CSRF令牌检查。您可以通过暂时从您的protect_from_forgery
删除application_controller.rb
来验证这种情况。
This article提供了一种解决方案,用于覆盖特定控制器上的检查,这对于登录请求应该是安全的。
答案 1 :(得分: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
这适合我。