2016-05-28 41 views
0

所以我一直在为一个程序创建一个REST API,我们允许一些用户使用Facebook登录。 当用户通过Facebook注册我的程序时,我需要生成一个包含基本个人信息(例如名字,姓氏等)的用户档案,然后生成具体的程序信息(例如职业选择)。存储Facebook用户信息最佳实践?

具体的程序信息显然会由用户手动输入,,但个人信息可能直接来自Facebook

我在想,我们可以显示一个“注册表单”,其中包含必要的程序特定字段,然后个人字段已经预先填入了他们的Facebook个人信息(如果需要,他们可以更改此信息)。

我的问题是: 当用户在我的程序创建一个帐户,我应该存储来自Facebook的个人信息到我的数据库,或者不断地获取来自Facebook,每次我需要显示自己的个人信息的个人信息?

如果我将它存储在我的数据库中,我只是担心从长远来看会有过时的信息(例如用户更改Facebook上的个人信息但未反映在我们的系统中)。我的程序是否应该始终与用户的FB账户同步?

我们的主要目标是为我们的程序提供另一种登录方法。拥有客户的个人详细信息不会影响程序的功能(仅供用户查看其他用户的详细信息)。

回答

0

你绝对应该把你的个人信息从Facebook存储在你的数据库中。

查看documentation,您可以看到建议的工作流程是在初始注册短暂存取令牌后获取长期存取令牌。对于不同步的个人信息,一旦这个长期存在的令牌过期(约60天),您需要刷新它(客户需要重新登录),此时您可以使用短暂令牌更新您的数据库记录。