Facebook注册与Facebook登录,用户名和保存用户照片的问题

时间:2013-10-24 14:06:47

标签: facebook registration facebook-login

我有一个网络应用程序,它有自己的用户注册,有少数用户。唯一必填字段是电子邮件,密码和用户名,必须是唯一的。从长远来看,我仍然希望拥有自己的注册系统。

我想整合Facebook,但我想弄清楚我是否应该整合Facebook注册或Facebook登录。我有这些问题:

  1. 我已经开始整合Facebook登录,效果很好。有了这个,我不仅可以让Facebook用户登录,而且如果他是第一次通过Facebook登录并且尚未通过我们的网站注册,我可以获得注册用户所需的所有信息。我没有提示用户输入密码,以简化注册,但这意味着如果用户尝试直接登录我们的网站,我告诉用户他必须通过Facebook登录登录。因此,我质疑Facebook注册的必要性,这似乎比Facebook登录更加复杂。谁能告诉我为什么要整合Facebook注册?

  2. 我将用Facebook登录或Facebook注册功能整合到现有用户注册中的缺点是用户名。我目前将用户的Facebook用户名复制到我们的数据库中。但是,有可能用户的Facebook用户名丢失或者是我们现有用户的用户名副本,在这种情况下,我必须提示用户进行更改。那么如果将来用户在Facebook上更改用户名,会发生什么?当我通过Facebook登录时,我是否应该更改用户在我们网站上的用户名?这里的最佳做法是什么?我是否正确地假设如果我不打扰在我们网站上更改用户的用户名,那么这不是问题吗?

  3. 然后根据我们的要求,用户的Facebook用户名可能无效。目前,我们要求用户名仅为字母数字和下划线,使用此reg表达式:/ ^ [\ w] * $ /但是,Facebook允许句点,但不是连续的特殊字符,也可能是我未检测到的其他标准。这意味着我应该使用与Facebook使用相同的有效性检查。有没有人知道Facebook的用户名表达式?

  4. 我可以使用IMG标记和src = http://graph.facebook.com/facebook.id/picture显示Facebook用户的个人资料照片。有谁知道如何将照片保存到我们的服务器上?我们使用Javascript和PHP。

  5. 感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

嘿,我会尝试逐一解决你的观点

  1. Facebook登录只是一种通过Facebook连接用户进入您网站的方式,正如您所述,他们没有密码,因为Facebook处理了身份验证。但是,您可以在使用Facebook登录后将它们重定向到特定页面,并让他们输入密码以使用他们的帐户而无需连接到Facebook。 Facebook注册插件更像是一种让用户在您的注册系统上注册的工具(尽管它确实支持您唯一的注册系统)。如果用户已经登录到Facebook,它通过预先填充您可能通常要求的许多字段(例如名称等)来提供便利。您可以自定义以询问其他信息。这也意味着您可以为用户提供1张注册表,无论他们是否使用Facebook。

  2. 不应缺少facebook用户名。他们的“名称”字段应该是我认为必须提供的用户名和姓。我不认为它可以是空的。我实际上建议做的是我在第1点中提到的。允许用户通过Facebook连接,但随后提示他们输入用户名作为登录流程的一部分或之后。然后,您可以针对当前数据库检查此项的唯一性。首先,您可以为其分配first_last_timestamp或类似名称的用户名。这更有可能鼓励他们将用户名更改为他们想要的内容。如果您使用了注册插件,则可以轻松地在此输入您自己的“用户名”字段。然后,如果用户在Facebook上更改了他们的名字并不重要,因为他们仍然拥有您网站的唯一用户名。

  3. Facebook的用户名应该只是用户的名字和姓氏(尽管显然人们会输入随机内容)。 'name'字段是这些的组合,因此它们之间很可能是一个空格。您可以随时使用自己的正则表达式替换任何无效字符,用下划线替换空格等。

  4. 我不确定是否有任何平台策略会限制您将用户图片保存到您自己的服务器/数据库。我会问你为什么要这么做?根据我的经验,这更有可能改变他们的名字。因为使用您网站的朋友群可能更有可能识别他们的朋友在Facebook上使用的个人资料照片。

  5. 我最后会说,关于连接他们的Facebook帐户的最佳方式意味着您可以提供流畅的登录体验,这样用户就不必每次都登录。我个人的经验是,facebook登录(在成功页面上使用您自己的集成代码)比注册插件更好。用户以这种方式连接到您的应用程序的步骤更少,他们不必填写表单。成功回调还意味着您仍然可以执行上面提到的自定义用户名代码/流程,然后提示他们根据需要更改用户名。请记住,最好在注册时询问尽可能少的信息,因为用户更有可能以这种方式加入。

    希望这有帮助!