【发布时间】:2011-09-29 10:30:01
【问题描述】:
我的应用程序中有一些页面需要通过链接进行身份验证。如果他/她尚未通过身份验证,我会使用 before 过滤器将用户重定向到 /auth/linked_in。我希望在身份验证后用户应该被重定向到需要身份验证的页面,而不是用户来自的页面。
过滤器之前的样子:
def require_linked_in!
unless current_user and current_user.linked_in_authenticated?
redirect_to "/auth/#{Authentication::LINKED_IN}"
end
end
在我的omniauth回调中,我做了一些事情,例如登录或将提供者数据与用户帐户相关联,如果一切正常,redirect_to request.env['omniauth.origin'] || root_url,但这会将用户重定向回他单击链接到需要linked_in的页面的页面身份验证而不是目标页面。
如何将用户重定向到触发身份验证的页面而不是用户来自的页面?
PS:用户只能使用应用程序的注册表单进行注册,但稍后可以连接链接和 facebook 个人资料,也可以使用它们而不是普通的电子邮件/密码登录表单。如果有什么不同的话。
【问题讨论】: