如何从自定义路由器中清除用户中的用户?

时间:2012-02-26 07:54:44

标签: ruby-on-rails omniauth clearance

我正在将Omniauth添加到我的应用程序中,我正在使用Clearance进行常规身份验证。我试图以编程方式登录用户时碰壁。

我正在寻找像Devise这样的sign_in_and_redirect,但在Clearance中找不到它。

我已尝试使用sign_in <User>并立即致电redirect_to root_path。但是,加载根页面时,未设置current_user

有谁知道怎么做?有没有人知道将Omniauth添加到Clearance的教程?

由于

1 个答案:

答案 0 :(得分:2)

我没有使用过Clearance,我通常会使用自己的身份验证或使用Devise,但快速查看代码会告诉我sign_in(@user)除了设置@ current_user = @ user之外什么都没有,所以你需要一些在重定向之前保留该信息的方法。清除似乎使用remember_token,所以我尝试(未经测试)这样的事情:

sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)