我正在将Omniauth添加到我的应用程序中,我正在使用Clearance进行常规身份验证。我试图以编程方式登录用户时碰壁。
我正在寻找像Devise这样的sign_in_and_redirect
,但在Clearance中找不到它。
我已尝试使用sign_in <User>
并立即致电redirect_to root_path
。但是,加载根页面时,未设置current_user
。
有谁知道怎么做?有没有人知道将Omniauth添加到Clearance的教程?
由于
答案 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)