我正在使用 Rails 3 构建一个 Web 应用程序。我有自己的用户注册、登录和身份验证工作正常,我希望添加一个 Oauth 2 实现,以便人们可以用更少的步骤连接 Facebook 和登录/注册。
我已经成功地开始了这项工作。到目前为止,我可以让 facebook 对用户进行身份验证并授予我访问他们信息的权限。我还没有尝试设置 Twitter 身份验证,但我认为它会以类似的方式工作。
我现在正在思考的是如何将其集成到我现有的用户模型中,该模型基本上由一个拥有电子邮件、姓名和密码的用户表组成。
我是否应该保留我的 users 表并设置一个 Access Providers 表:
id | user_id | provider_id | access_key
---------------------------------------
1 | 4 | 1 | xyz
2 | 4 | 2 | pqr
3 | 7 | 1 | dfr
让我们说一个“用户 Facebook 信息”表,我在其中存储有关用户的信息,这些信息是通过访问 Facebook 图表中的用户而收集的?
这样,我可以使用每个用户拥有的核心信息对用户表进行规范化,无论他们是否通过 Facebook 连接(姓名、电子邮件、密码),并在可用时用他们的 Facebook 个人资料中的数据补充该数据?
有一个更好的方法吗?有没有很好的指南或教程来设计这种类型的数据库模型(想想 Quora)?顺便说一句,我也可以处理 PHP 教程!
对不起,开放式问题。