目前在我的网站上,用户使用他们的登录id和密码登录,他们还需要输入他们的 email 当他们注册。两者兼而有之 login_idemail 列上的 users 表具有唯一索引。 users 表还存储与用户相关联的其他数据,例如 gender,last_name,first_name 但这些是可选(可为空)字段。

我想对网站做两个改变。

第一个是,用户可以使用他们的电子邮件(除了 login_id)登入。对于新用户,当他们注册时,他们不再需要提供一个 login_id 因为他们将使用他们的电子邮件登录。

第二个变化是,他们可以使用facebook登录。对于新用户,如果他们第一次使用facebook登录,他们的facebook uid将被获取并存储在我的数据库中。这意味着我将不得不添加一个 facebook_uid 列上的 users 表。

对于现有用户,当他们第一次使用facebook登录时,我应该首先从他们的facebook个人资料中获取他们的电子邮件地址,然后检查是否已经存在使用该电子邮件的记 users 表,如果是,他们的facebook uid也将存储在 facebook_uid 记录上的一栏。

据facebook称,其平台支持两种不同的OAuth2.0流用于用户登录:服务器端流和客户端流。此用例需要哪一个或两者?

另外,当我实现上面描述的功能时,会出现什么问题?

有帮助吗?

解决方案

你可以采取任何一种方法,这完全取决于你。这两种方法都将为您提供所需的数据,这是一个问题,即您在后端与前端工作的舒适程度。您只需要请求访问用户电子邮件地址的权限。

可能发生的问题:我不确定,但存储用户的facebook ID可能存在法律限制。另外,如果有人(不是我,一个邪恶的人!)注册我的电子邮件地址,你不验证他们真的可以访问该地址-然后当我通过facebook登录时,应用程序会假设我们是同一个人,邪恶的黑客现在可以访问我的帐不太可能的情况,但可能发生。..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top