如何让AuthLogic跳过密码验证?

时间:2010-05-25 00:23:06

标签: ruby-on-rails authlogic

我想我只是错过了一些明显的东西。我向用户发送嵌入在链接中的易腐令牌。他们点击它,然后他们回到了网站。我想自动登录 - 通过他们的易腐令牌而不是密码进行身份验证。 (我不是在构建银行应用程序)。

这看起来应该很简单,但我发现的所有示例都需要密码。我该如何完全跳过这个?当我尝试让UserSession.create工作时,它会报告验证错误,并且不会创建用户会话。这是怎么回事?

@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."
  ...

我已广泛搜索但未找到答案。

1 个答案:

答案 0 :(得分:1)

UserSession.create不会将用户对象作为第一个参数吗?如果是这样,你不能这样做:

UserSession.create(User.find_by_perishable_token(params[:token]))
@current_user_session = UserSession.find

或者是你遇到问题的地方?