ruby-on-rails - 如何从自定义路由器登录 Clearance 中的用户?

标签 ruby-on-rails omniauth clearance

我正在将 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/

相关文章:

ruby-on-rails - 在这种情况下 OAuth 是否矫枉过正?

facebook - 应该为Facebook身份验证打开哪些端口

ruby-on-rails - Facebook Graph API taggable_friends 给出无效范围错误

ruby-on-rails-4 - rails 4 和 thoughtbot/clearance - 向用户模型添加字段

ruby-on-rails - 在 fields_for 中使用 ":"和 "@"有什么区别

ruby-on-rails - capistrano 部署在 git ls-remote 调用上询问用户名/密码

ruby-on-rails - 无法使用 Ruby 1.9 和 Rails 2.3.4 启动脚本/控制台

ruby-on-rails - Omniauth-Facebook : How to get Long-Lived Access Tokens?

ruby-on-rails - 清关:修改用户密码

ruby-on-rails - 如何向 Clearance gem 添加权限/角色?