在Rails应用程序中实现oauth:一个或两个用户模型(用户+身份验证)?

时间:2012-04-19 09:51:21

标签: ruby-on-rails omniauth

在我学习Rails的过程中,我首次涉足oauth领域。我有一个用户模型,并计划允许用户连接到多个服务。我希望这将是一个固定的服务列表,即我不希望将来添加新的身份验证服务(虽然永远不会说永远,对吧?)。

所以,我可以看到两种方法。

  1. 拥有超级用户模型,以及持有用户名,密码等,还会存储fb_uid,twitter_uid等以及从这些服务中提取的任何数据。

  2. 拥有用户模型和关联的Auth_Services模型。用户名,密码等都在用户中。 Uid,user_id,提供者名称,oauth数据等都在Auth_Services中。

  3. 我可以看到两种方法的优点和缺点。我可以看到关于两种方法的规范化数据库设计的意见。

    所以我的问题是,对于之前已经完成此操作的人,您使用了哪条路线,为什么?您遇到了哪些问题,以及在做出决定时我应该考虑或计划什么?

    感谢您帮助我学习!

1 个答案:

答案 0 :(得分:1)

如果有任何可能性,您将添加进一步的身份验证,请使用这两个型号。无论如何,那是我的理由。