如何在Rails中使用相同的身份验证回调对两种类型的用户进行身份验证,而无需设计gem?

时间:2019-10-01 11:04:29

标签: ruby-on-rails omniauth omniauth-facebook omniauth-google-oauth2

我想使用Rails 6.0.0创建一个网页,它具有两种类型的用户(模型),而没有设计出gem。 管理员 用户/查看者

但是问题是我想使用相同的回调地址对使用facebook或google_oauth2的两个用户进行身份验证(注册/登录),而无需设计gem: / auth /:provider / callback

在互联网上,github和youtube我发现文章和视频仅用于验证单个模型。但是我想对两个模型进行身份验证(注册/登录)。

有人可以帮忙吗? 请给出一个示例来验证两个模型,而不设计出初学者可以理解的gem。

1 个答案:

答案 0 :(得分:1)

通常不建议对两个模型进行身份验证。仅在极少数情况下才需要这样做。 (想想Uber,那里有司机和客户预订行程)。

如果您想拥有一个管理员和一个普通用户,执行此操作的方法是在用户模型中添加一个名为admin的列,该列是布尔值。这样,您只有一个用户模型-多数情况下,管理员可以精打细算用户的能力。 如果您的用户是管理员,则只需将admin布尔值设置为true即可:)