1

也许这是一个简单的问题,但我有使用omniauth 和devise 的rails 4 应用程序,我不知道如何设置一个路由,以防止在权限被拒绝时对用户进行身份验证失败。我该怎么做?我需要将权限拒绝发送到我的应用程序中的特定位置。

4

2 回答 2

2
user = User.from_omniauth(env["omniauth.auth"])
if user.persisted?
 flash[:notice] = "You are in..!!!"
 sign_in_and_redirect(user)
else
 session["devise.user_attributes"] = user.attributes
 redirect_to new_user_registration_url
end

def failure
  #handle you logic here..
  redirect_to root_path 
end
于 2015-06-01T14:20:07.493 回答
0

您可以参考这个Omniauth-facebook 取消按钮答案。

它指出您需要在omniauth 控制器中添加一个失败方法

于 2015-06-01T14:35:40.323 回答