Frage

Ich füge Omniauth zu meiner App hinzu, wobei ich Clearance für die regelmäßige Authentifizierung verwende.Ich bin beim Versuch, einen Benutzer programmgesteuert anzumelden, auf eine Wand gestoßen.

Ich suche so etwas wie sign_in_and_redirect von Devise, kann es aber nicht im Ausverkauf finden.

Ich habe es mit versucht sign_in <User> und ruft redirect_to root_path gleich nach.Wenn jedoch die Stammseite geladen wird, wird die current_user ist nicht eingestellt.

Weiß jemand, wie man das macht?Kennt jemand ein Tutorial zum Hinzufügen von Omniauth zu Clearance?

Danke

War es hilfreich?

Lösung

Ich habe Clearance nicht verwendet, normalerweise führe ich entweder meine eigene Authentifizierung durch oder verwende Devise, aber ein kurzer Blick auf den Code zeigt mir, dass sign_in(@user) nichts weiter tut, als @current_user=@user zu setzen, sodass Sie eine Möglichkeit benötigen, beizubehalten diese Informationen, bevor Sie weiterleiten.Clearance scheint dafür ein Remember_token zu verwenden, also würde ich (ungetestet) so etwas wie Folgendes versuchen:

sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top