我们正在构建一个Web应用程序,现在我们正处于决定如何跟踪用户的阶段。我们的默认选项是维护我们自己的用户注册系统,这是一个很头疼(用户名唯一性,注册过程等...)。
作为替代方案,我们可以使用人们的Facebook身份,这意味着他们将使用Facebook的电子邮件和密码登录我们的系统。然后我们的后端将获取用户的Facebook ID(图形ID),并将其存储在数据库中。用户将更改/上传到应用程序的任何数据都将链接到此ID。
问题是,我们是否可以将id视为永久标识符,并围绕它构建复杂的后端。我们如何确定Facebook不会改变某人的身份?
Azure Access Control等其他身份管理系统是否依赖此ID?
答案 0 :(得分:4)
Facebook platform policy不鼓励将用户ID用于除内部使用之外的任何内容。因此,如果您计划拥有一个其网址类似/ users /的个人资料页面,则可能会违反Facebook的隐私期望。你最好用代理主键创建一个Users
表,并将他们的facebook id包括为非主列。
此外,您可能会遇到用户无法访问其旧Facebook帐户并希望将其网站帐户与新Facebook身份相关联的实例。如果你在几个表中使用他们的facebook id作为外键,你就会不必要地将他们的旧facebook id与你的应用程序数据纠缠在一起。