0

我有一个将 Restful 身份验证作为身份验证插件的站点。我需要集成 Facebook 连接。Facebook 不为用户提供电子邮件地址(可能只有在用户同意的情况下),当然也不提供密码。

主要问题是 User 模型validates_**在这两个字段上有很多(来自 Restful 身份验证模块)。另一个小问题是我们已经有很多依赖于电子邮件地址的代码(观察者在用户创建后发送电子邮件等)。facebook_connect 教程中的解决方案是绕过验证保存用户模型,但这是错误的..

您将如何重新设计用户模型包含任何/两种身份验证方法(标准和/或 facebook_connect)?

  1. 重构所有验证(使用 :unless => :is_facebook_user),对观察者设置条件等。

  2. 在 User 表上实现 STI(并拥有 StandardUser / FacebookUser,每个都有自定义身份验证模块)

  3. 具有对 standard_user 和 facebook_user 的多态引用的用户表

  4. 其他想法

请注意,将“标准”帐户链接到“facebook”帐户的功能也是必需的,这使事情变得复杂。

参考:

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

http://blog.yangtheman.com/2009/08/23/how-to-integrate-facebook-connect-with-a-rails-app/comment-page-1/

4

1 回答 1

1

一个很好的例子让你从这里开始。

于 2011-02-09T12:41:26.490 回答