2

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

我正在寻找类似sign_in_and_redirectDevise 的东西,但在 Clearance 中找不到。

我试过使用sign_in <User>和调用redirect_to root_path之后。但是,当根页面加载时,current_user没有设置。

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

谢谢

4

1 回答 1

3

我没有使用过 Clearance,我通常要么推出自己的身份验证,要么使用 Devise,但快速浏览代码告诉我 sign_in(@user) 只不过是设置 @current_user=@user 所以你需要一些方法来坚持重定向之前的信息。Clearance 似乎为此使用了 remember_token,所以我会尝试(未经测试)这样的事情:

sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)
于 2012-03-03T11:37:35.100 回答