如何在自定义路由器的许可中登录用户?
-
13-11-2019 - |
题
我正在将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)
不隶属于 StackOverflow