Comment puis-je me connecter à un utilisateur en dédouanement à partir d'un routeur personnalisé?
-
13-11-2019 - |
Question
J'ajoute OmniAuth à mon application où j'utilise l'autorisation pour l'authentification régulière. Je suis tombé sur un mur en essayant de connecter un utilisateur de manière programmatique.
Je cherche quelque chose comme sign_in_and_redirect
De Disge, mais je ne le trouve pas dans l'autorisation.
J'ai essayé d'utiliser sign_in <User>
et appel redirect_to root_path
juste après. Cependant, lorsque la page racine se charge, le current_user
n'est pas défini.
Est-ce que quelqu'un sait comment faire ça? Est-ce que quelqu'un connaît un tutoriel pour ajouter Omniauth à l'autorisation?
Merci
La solution
Je n'ai pas utilisé de dédouanement, je lance généralement ma propre authentification ou j'utilise Devise, mais un regard rapide à travers le code me dit que Sign_in (@user) ne fait rien de plus que set @ current_user = @ utilisateur, vous avez donc besoin d'un moyen de persister ces informations avant de rediriger. L'autorisation semble utiliser un Remember_Token pour cela, donc j'essaierais (non testé) quelque chose comme ceci:
sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)