【发布时间】:2013-02-07 04:18:32
【问题描述】:
我正在使用 omniauth 和 omniauth-identity 通过 Google、Facebook 和传统用户名/密码进行身份验证。除了身份验证失败的情况外,我的一切工作都很好。失败时,例如输入无效密码时,omniauth 将调用/auth/failure。我已经将它映射到一个控制器,该控制器重定向到一个适当的页面并显示一个 Flash 消息。我遇到的问题是我无法让闪光灯实际显示。示例代码:
在routes.rb:
match "/auth/failure" => "sessions#failure"
在它调用的控制器中:
def failure
redirect_to root_url, alert: "Authentication failed, please try again."
end
由于omniauth 正在做的任何事情和重定向的结合,我觉得闪光灯正在丢失。我知道视图代码是正确的,因为它会闪烁其他内容,例如成功登录消息。我将不胜感激有关如何调整我的示例以显示 Flash 消息的建议,或有关替代全身份验证故障处理机制的建议。谢谢。
【问题讨论】:
标签: ruby-on-rails redirect omniauth