Je pense que je manque juste quelque chose d'évident. J'envoie à un utilisateur un token périssable intégré dans un lien. Ils cliquent dessus et reviennent sur le site. Je veux les connecter automatiquement --- authentifié par leur jeton périssable, pas le mot de passe. (Je ne construis pas une application bancaire).Comment faire pour que AuthLogic ignore la validation du mot de passe?
Cela semble être simple, mais tous les exemples que j'ai trouvés nécessitent un mot de passe. Comment puis-je ignorer complètement cela? Lorsque j'essaie d'obtenir UserSession.create
pour fonctionner, il signale une erreur de validation et ne crée pas la session utilisateur. Quel est le moyen de contourner cela?
@user = User.find_by_perishable_token(params[:token])
if @user
if !current_user
# skip sign-in
UserSession.create!(@user.email)
# => error "You did not provide any details for authentication."
...
J'ai longuement recherché sur Google, mais je n'ai pas trouvé la réponse.
Vous avez raison. J'utilisais la méthode 'current_user' écrite sur le contrôleur, qui est mise en cache lors d'une requête. Une fois que je suis passé à 'UserSession.find', tout était bon. – ndp