Ich habe redis-rb zu meiner Rails 5-Anwendung hinzugefügt, um Backend-Prozesse zu verwalten, die von sidekiq verwaltet werden.Schienen mit Redis und Devise funktioniert nicht
Benutzer Auth in meiner App wird von Devise verwaltet.
Nachdem alle meine Arbeiter usw. korrekt funktionieren, scheint es, dass mein Sitzungsspeicher jetzt defekt ist. Das Problem ist, dass wenn ich mich abmelde, die Benutzersitzung nicht mehr zerstört wird, so dass es unmöglich ist, sich abzumelden.
Hier ist mein session_store.rb config:
if Rails.env.production?
Rails.application.config.session_store :cookie_store, key: '_myapp_session', domain: ENV['SESSION_STORE_DOMAIN'], tld_length: ENV['TLD_LENGTH'].to_i
else
Rails.application.config.session_store :cookie_store, key: '_myapp_session', domain: :all, tld_length: 2
end
Ich habe auch versucht mit dem redis-session-store Juwel zu experimentieren, nachdem diesen Fehler zu begegnen, aber dies führt zu einem InvalidAuthenticityToken Fehler.
Ich möchte nicht wirklich meinen Sitzungsspeicher ändern, um redis zu verwenden. Gibt es einen Weg dies zu lösen oder fehlt mir etwas?
UPDATE 1
sessions_controller.rb (devise)
def destroy
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
set_flash_message! :notice, :signed_out if signed_out
yield if block_given?
respond_to_on_destroy
end
Können Sie den Code für Ihre Zeichen einfügen aus Aktionen ? – whodini9
Ich habe es @ whodini9 getan. Das ist einfach nur Code. Ich habe an dieser Aktion nichts geändert. – Herm
Können Sie in dieser Aktion versuchen, session.delete (: user_id) hinzuzufügen? – whodini9