Tôi muốn kiểm tra dịch vụ web đường ray của mình bằng cách sử dụng cURL, nhưng cho đến nay tôi chỉ có thể thực hiện điều đó trong khi hủy kích hoạt before_filter :authenticate_user!
. Nhưng tôi muốn đăng nhập vào một ưu tiên và sau đó tạo ra, phá hủy vvLàm thế nào để bạn sử dụng cURL để xác thực trên một ứng dụng Rails sử dụng Devise?
Tôi thấy rằng với cURL bạn có thể xác thực và lưu thông tin phiên trong cookie mà bạn sử dụng cho các yêu cầu sau của mình, nhưng tôi không thể t làm cho nó làm việc với lập mưu: trong kịch bản của tôi, người dùng đăng nhập sử dụng một sự kết hợp email/mật khẩu, vì vậy tôi đang cố gắng:
curl \ -X POST \ -d '[email protected]&password=password' \ -c cookie \ http://localhost:3000/users/sign_in > out
và tôi nhận được: ActionController::InvalidAuthenticityToken in Devise/sessionsController#create
ai đó có thể cho tôi một ý tưởng/một ví dụ?
Cảm ơn!
Điều này làm việc cho các yêu cầu GET, tuy nhiên, đối với các yêu cầu POST, nó có vẻ không hoạt động. – Altonymous
Đó có thể là do bạn cần mã thông báo CSRF cho các yêu cầu không được gửi trong Rails 3 (http://weblog.rubyonrails.org/2011/2/8/csrf-protection-bypass-in-ruby-on-rails/) – iainbeeston
Xác thực được thực hiện cho tôi sau khi tôi chuyển đổi các dấu nháy đơn và kép, nhưng không thể truy cập bất kỳ thứ gì. – graywh