我通过omniauth进行身份验证,并且每个页面都可以通过layout / application.html.haml获得该链接。
但是,当他们完成omniauth身份验证时,他们都会转到root。
如何设置它以便重定向到他们点击身份验证链接的实际页面(将其带到oauth提供程序)。
由于
答案 0 :(得分:10)
您可以使用request.env['omniauth.origin']
。
请参阅https://github.com/intridea/omniauth/wiki/Saving-User-Location
答案 1 :(得分:4)
我在这里看到两个选项:
1)在您可能通过以下方式登录的每个页面上设置会话变量:
session[:return_to] = request.fullpath
并在登录后重定向回来:
redirect_to session[:return_to]
或
2)尝试
redirect_to :back
这取决于你如何链接你的控制器动作(没有使用omniauth,所以我没有这方面的经验)