我想我只是错过了一些明显的东西。我向用户发送嵌入在链接中的易腐令牌。他们点击它,然后他们回到了网站。我想自动登录 - 通过他们的易腐令牌而不是密码进行身份验证。 (我不是在构建银行应用程序)。
这看起来应该很简单,但我发现的所有示例都需要密码。我该如何完全跳过这个?当我尝试让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."
...
我已广泛搜索但未找到答案。
答案 0 :(得分:1)
UserSession.create不会将用户对象作为第一个参数吗?如果是这样,你不能这样做:
UserSession.create(User.find_by_perishable_token(params[:token]))
@current_user_session = UserSession.find
或者是你遇到问题的地方?