我正在将 Omniauth 添加到我的应用程序中,并使用 Clearance 进行定期身份验证。我在尝试以编程方式登录用户时遇到了困难。
我正在寻找类似 sign_in_and_redirect
的内容来自 Devise,但在 Clearance 中找不到它。
我尝试过使用sign_in <User>
并调用redirect_to root_path
就在之后。但是,当加载根页面时,current_user
未设置。
有人知道该怎么做吗?有谁知道将 Omniauth 添加到 Clearance 的教程吗?
谢谢
最佳答案
我没有使用过 Clearance,我通常要么自己进行身份验证,要么使用 Devise,但快速浏览一下代码告诉我,sign_in(@user) 所做的只是设置 @current_user=@user 所以你需要一些在重定向之前保留该信息的方法。 Clearance 似乎为此使用了 Remember_token,所以我会尝试(未经测试)这样的事情:
sign_in(@user)
cookies['remember_token'] = @user.remember_token
redirect_to(root_path)
关于ruby-on-rails - 如何从自定义路由器登录 Clearance 中的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451474/