Ruby on rails Authlogic:如何在不知道用户密码的情况下在后台登录用户

Ruby on rails Authlogic:如何在不知道用户密码的情况下在后台登录用户,ruby-on-rails,authlogic,Ruby On Rails,Authlogic,我使用Authlogic来处理登录/身份验证/会话等,我使用paypal来处理订阅我的网站的付款。对于试用期已过期的用户,我希望在他们通过paypal支付流程后自动登录,但我无法解决如何在没有密码的情况下实现这一点。因此,我的流程是: 过期用户登录 他们的试用期已经到期,所以我把他们推到订阅页面,通过他们独特的持久性令牌字段跟踪他们是谁,我将其放入一个参数,并发送到paypal 当我从paypal收到付款通知时,我也会收到他们的代币,因此我知道哪个用户已经付款,我会相应地修改他们的帐户 当他们

我使用Authlogic来处理登录/身份验证/会话等,我使用paypal来处理订阅我的网站的付款。对于试用期已过期的用户,我希望在他们通过paypal支付流程后自动登录,但我无法解决如何在没有密码的情况下实现这一点。因此,我的流程是:

  • 过期用户登录
  • 他们的试用期已经到期,所以我把他们推到订阅页面,通过他们独特的持久性令牌字段跟踪他们是谁,我将其放入一个参数,并发送到paypal
  • 当我从paypal收到付款通知时,我也会收到他们的代币,因此我知道哪个用户已经付款,我会相应地修改他们的帐户
  • 当他们在paypal中付款后,将他们发送回我的网站的按钮上有他们订单的唯一标记,因此我可以看出,是刚刚付款的人进入了“订阅完成”页面,而不是仅仅键入浏览器url的任何人
  • 当他们从paypal返回该网站时,他们仍然被注销,并且他们必须经历登录/注册过程
在上述情况下,由于我在“subscription_complete”页面的参数中获得了订单令牌,我知道该用户就是刚刚支付的用户,因此我有足够的信息信任他们,就好像他们已经登录一样。所以,我想让他们自动登录,即为他们创建一个用户会话记录。但是,问题是我不知道他们的密码(因为密码是单向加密的),我需要密码剑来创建用户会话


所以,我的问题是:如果我信任当前用户,但不知道他们的密码,我仍然可以让他们登录吗?如果是这样,怎么做?

我以前使用过
UserSession.create(@user)
。这不适合你吗