2013-06-20 3 views
2

При регистрации с помощью devise я получаю ВНИМАНИЕ: Невозможно проверить подлинность CSRF-токена и 401 несанкционированное сообщение. Он перенаправляется обратно на страницу входа, даже если действительный пользователь.ВНИМАНИЕ: Невозможно проверить подлинность CSRF-маркера с помощью devize

Я пробовал много решений, но до сих пор не мог решить проблему. Я проверил свои параметры и отправил токен аутентификации, который должен был поднять. ПРЕДУПРЕЖДЕНИЕ. Невозможно проверить подлинность CSRF.

Это мой файл журнал

Started POST "/admin/sign_in" for 127.0.0.1 at 2013-06-20 13:12:27 +0545 
Processing by Devise::SessionsController#create as HTML 
Parameters: {"utf8"=>"✓", "authenticity_token"=>"YWAa7xOf+u0ButjnaE/kz5RmL3SZKFs 
x51pFbMxDqiw=", "admin"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}} 

WARNING: Can't verify CSRF token authenticity 

Admin Load (0.7ms) SELECT `admins`.* FROM `admins` WHERE `admins`.`email` = '[email protected]       ail.com' LIMIT 1 
(0.3ms) BEGIN 
(0.6ms) UPDATE `admins` SET `last_sign_in_at` = '2013-06-20 07:27:20', `current_sign_i       n_at` = '2013-06-20 07:27:28', `sign_in_count` = 37, `updated_at` = '2013-06-20 07:27:28' WHERE `admins`.`id` =  4 
(19.0ms) COMMIT 
Redirected to home page 
Completed 302 Found in 179ms (ActiveRecord: 0.0ms) 
Started GET "/" for 127.0.0.1 at 2013-06-20 13:12:28 +0545 
Processing by Admin::DashboardController#index as HTML 
Completed 401 Unauthorized in 1ms 

Заранее спасибо

Это форма генерируется по завещанию

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => {:id => "login_ form"}) do |f| %> 
    <h2>Log in to your account:</h2> 
    <%= f.label :email, 'Email:' %> 
    <%= f.text_field :email, :class => "login" %><br /><br /> 
    <%= f.label :password, 'Password:' %> 
    <%= f.password_field :password, :class => "login" %><br /><br /> 
    <div class="pagination-right"> 
    <%= f.submit "sign in"%> 
    <%= link_to "Forgot Password?", new_admin_password_path %> 
    </div> 
    <p class="hr">Don't have an account?</p> 
    <p>Please contact your Admin or contact Talintel Support</p> 
    <% end %> 

В скрытом поле он генерирующая подлинность маркеров

<div style="margin:0;padding:0;display:inline"> 
<input type="hidden" value="✓" name="utf8"> 
<input type="hidden" value="6yM4gkyWC94ej1X2Wzn/l17xTpIymsx9wCEuw5aOJbQ=" name="authenticity_token"> 
</div> 
+0

Показать форму. –

+0

@MichaelSzyndel Я добавил форму –

+2

Любые события на этом? У меня такая же проблема ... – cash22

ответ

0

Я столкнулся с этим сегодня обновлением от 2,1 до 2.2.8 и подозревал, это изменение https://github.com/plataformatec/devise/commit/415fa2ad210f37bd264e5653440413dfd90f5170

Итак, я ставлю точку останова в DEViSE/крюков/csrf_cleaner, чтобы выяснить, где она вызывается из. У меня был файл before_filter, который проверял current_user, который регистрировал пользователя на основе сеанса и, таким образом, очищал токен.

HTH.

Смежные вопросы