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

我正在寻找类似的东西 sign_in_and_redirect 从迪维斯那里,但在许可中找不到。

我试过使用 sign_in <User> 和调用 redirect_to root_path 马上。但是,当根页面加载时, current_user 未设置。

有谁知道如何做到这一点?有谁知道将Omniauth添加到Clearance的教程?

谢谢

有帮助吗?

解决方案

我没有使用Clearance,我通常要么滚动自己的身份验证,要么使用Devise,但是快速浏览代码告诉我sign_in(@user)除了set@current_user=@user之外什么都不做,所以在重定向之前你需要Clearance似乎为此使用了remember_token,所以我会尝试(未经测试)这样的东西:

sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top