我正在创建一个应用,您可以通过Facebook,Twitter或我们自己的内部机制登录。问题是以下情况:
上述方案将导致我作为在系统中具有两个帐户的用户。如何防止这种情况发生,以便我有一个帐户,无论我是否使用Facebook / Twitter登录都无关紧要?
每次用户使用Facebook登录时,我都可以使用Facebook用户名和Facebook ID作为密码来创建内部帐户。当我使用Twitter登录时,我正在使用Twitter用户名和id作为密码创建内部帐户。
我想到了一个想法来解决这个问题:
当用户使用Twitter登录时,如果数据库中已存在具有该信息的用户,请检查名称和电子邮件。但是,他们在Facebook和Twitter上使用的名称和电子邮件可能不一样,所以这可能不会一直有效。
答案 0 :(得分:0)
您无法使用当前流程(当用户登录然后再次注销时)。相反,您应该允许用户使用他们的Facebook或Twitter凭据登录,然后在他们仍然登录时,让他们将他们的帐户与他们与该用户的其他服务相关联。
所以,流程将类似于:
稍后,用户可以注销,然后使用任一服务登录。