代码之家  ›  专栏  ›  技术社区  ›  ndp

如何让AuthLogic跳过密码验证?

  •  2
  • ndp  · 技术社区  · 14 年前

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

    这看起来应该很简单,但我找到的所有示例都需要密码。我怎么能完全跳过这个?当我试图得到 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 回复  |  直到 14 年前
        1
  •  1
  •   jerhinesmith    14 年前

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

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

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