Facebook使用OmniAuth登录不同的用户类型

时间:2013-12-24 08:25:10

标签: ruby-on-rails facebook omniauth

我正在使用omniauth gem来允许用户将facebook注册到我的网站。 我有两种不同类型的用户:学生和房东,他们与用户有多态关系。

has_one :user, as: :userable

我对每个人都有不同的注册,我想为两者添加“Facebook连接”选项。问题是:facebook auth回调只路由到一个控制器动作。 如何根据用户注册的类型分离回调?我可以在回调中知道哪个控制器操作调用了它吗?我可以为facebook注册分开链接吗?例如:

auth/facebook/student
auth/facebook/landlord

我很感激任何帮助或想法。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将您的facebook注册链接更改为:

auth/facebook?user=student
auth/facebook?user=landlord

然后,在您的facebook操作中,您可以执行以下操作:

if request.env['omniauth.params']['user'] == 'landlord'
  ...
else
  ...
end