2014-10-23 4 views
0
переводчиком

Я пытаюсь осуществить проверки подлинности для моего приложения Rails, который, кажется, Rails имеетAPI пропускает проверку подлинности с драгоценным камнем

И не может понять, где обратный вызов терпит неудачу ...

Так вот мой applicaiton контроллер:

class ApplicationController < ActionController::Base 
    protect_from_forgery 
end 

Вот мой контроллер API:

class V1::ManagerLeadsController < ApplicationController 
    def create 
    manager_lead = ManagerLead.create!(manager_lead_params) 
    render json: manager_lead 
    end 

    private 
    def manager_lead_params 
    params.require(:manager_lead).permit(:first_name, :last_name, :email, :phone, :company, 
     :format, :requested_date, :meeting_type, :has_complited_wholesale_investor_form 
    ) 
    end 
end 

А вот мои журналы:

Started POST "/api/v1/manager_leads" for 127.0.0.1 at 2014-10-24 10:29:46 +1100 
Processing by V1::ManagerLeadsController#create as JSON 
    Parameters: {"manager_lead"=>{"first_name"=>"", "last_name"=>"", "email"=>"", "phone"=>"", "company"=>"", "meeting_type"=>""}} 
Can't verify CSRF token authenticity 
    (0.1ms) BEGIN 
    SQL (0.3ms) INSERT INTO "manager_leads" ("company", "created_at", "email", "first_name", "last_name", "meeting_type", "phone", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["company", ""], ["created_at", "2014-10-23 23:29:46.833290"], ["email", ""], ["first_name", ""], ["last_name", ""], ["meeting_type", ""], ["phone", ""], ["updated_at", "2014-10-23 23:29:46.833290"]] 
    (7.6ms) COMMIT 
Completed 200 OK in 23ms (Views: 0.4ms | ActiveRecord: 9.4ms) 

Не может правдивости CSRF токен подлинности, однако запрос завершается 200OK ответа :(

Если я что-то вроде этого:

if verified_request? 
    manager_lead = ManagerLead.create!(manager_lead_params) 
    render json: manager_lead 
else 
    render json: { error: 'Unprocessed entity' }, status: 422 
end 

Затем приложение начинает работать нормально:

Started POST "/api/v1/manager_leads" for 127.0.0.1 at 2014-10-24 10:30:59 +1100 
Processing by V1::ManagerLeadsController#create as JSON 
    Parameters: {"manager_lead"=>{"first_name"=>"", "last_name"=>"", "email"=>"", "phone"=>"", "company"=>"", "meeting_type"=>""}} 
Can't verify CSRF token authenticity 
Completed 422 Unprocessable Entity in 3ms (Views: 0.1ms | ActiveRecord: 0.0ms) 

Я использую

Rails 4.1.5 
versionist gem 
jquery-ui-rails # for form submission 

ответ

0

ОК ответ был:

protect_from_forgery with: :exception 
Смежные вопросы