Benutzer sign_in gibt einen Authentifizierungsfehler für das Authentifizierungstoken des CSRF-Tokens aus
ich benutzedevise
(neueste Version - 3.2.0) mitrails
(neueste Version - 4.0.1)
Ich mache eine einfache Authentifizierung (ohne Ajax oder API) und erhalte einen Fehler für das CSRF-Authentifizierungstoken. Überprüfen Sie die POST-Anforderung unten
started POST "/users/sign_in" for 127.0.0.1 at 2013-11-08 19:48:49 +0530
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"SJnGhXXUXjncnPhCdg3muV2GYCA8CX2LVFV78pqddD4=", "user"=>
{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"},
"commit"=>"Sign in"}
Can't verify CSRF token authenticity
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."email" =
'[email protected]' LIMIT 1
(0.1ms) begin transaction
SQL (0.4ms) UPDATE "users" SET "last_sign_in_at" = ?, "current_sign_in_at" = ?,
"sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = 2 [["last_sign_in_at", Fri,
08 Nov 2013 14:13:56 UTC +00:00], ["current_sign_in_at", Fri, 08 Nov 2013 14:18:49 UTC
+00:00], ["sign_in_count", 3], ["updated_at", Fri, 08 Nov 2013 14:18:49 UTC +00:00]]
(143.6ms) commit transaction
Redirected to http://localhost:3000/
Completed 302 Found in 239ms (ActiveRecord: 144.5ms | Search: 0.0ms)
Die Root-URL zeigt aufhome#new
, das ist wie
class HomeController < ApplicationController
before_action :authenticate_user!
def index
end
end
Die von der Anmeldeseite generierte HTML-Ansicht sieht folgendermaßen aus:
Meta-Tags
<meta content="authenticity_token" name="csrf-param" />
<meta content="aV+d7Z55XBJF2VtyL8V3zupR3OwhaQ6UHNtlQLBQf5Y=" name="csrf-token" />
bilden
<form accept-charset="UTF-8" action="/users/sign_in" class="new_user" id="new_user"
method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓" />
<input name="authenticity_token" type="hidden
value="aV+d7Z55XBJF2VtyL8V3zupR3OwhaQ6UHNtlQLBQf5Y=" />
</div>
<div><label for="user_email">Email</label><br />
<input autofocus="autofocus" id="user_email" name="user[email]" type="email" value="" />
</div>
<div><label for="user_password">Password</label><br />
<input id="user_password" name="user[password]" type="password" /></div>
<div><input name="user[remember_me]" type="hidden" value="0" />
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1" />
<label for="user_remember_me">Remember me</label></div>
<div><input name="commit" type="submit" value="Sign in" /></div>
</form>
Die Authentifizierungsanforderung aktualisiert sogar dielast_sign_in_at
undsign_in_count
Werte, aber wenn ich versuche zuzugreifencurrent_user
im controller geht es sonil
.
Laut mir ist es eigentlich keine Anmeldunguser
. Aber dann kommt die Frage, warum es aktualisiert wirdlast_sign_in_at
/sign_in_count
Wert in deruser
Tabelle ?"