gpt4 book ai didi

facebook - 社交网络(Facebook、Twitter 等)用户帐户集成(重复场景)

转载 作者:行者123 更新时间:2023-11-30 05:16:04 26 4
gpt4 key购买 nike

所以肯定有很多关于如何将各种个人社交网络身份验证/注册集成到现有用户帐户中的教程。但是我似乎找不到太多信息的情况是用户是否使用不同的社交网络凭据登录您的帐户。例如:

场景 #1
用户使用网站的身份验证在网站上注册。
然后用户使用 Facebook Connect 在网站上登录/注册。
然后用户使用 Twitter 在网站上登录/注册。

如何将所有这些整合到一个帐户中?

显然,一旦用户注册,他们就可以在帐户设置页面中添加其他社交网络关联。但我更担心的是,如果他们通过其他社交网络注册时不记得他们已经设置好了。

我的一般想法是想出一种方法来使用“用户名”或电子邮件来尝试和猜测,并向用户展示一种在此处合并帐户的方法。

有人有什么想法吗?

最佳答案

跟进-

如果您的用户不记得他们之前注册过,那么,总的来说祝他们好运 ;)

正如您所描述的那样,我计划让用户可以选择在他们通过一种或另一种方式登录后链接其他帐户。

但就交叉检查而言,您能做的只有这么多。许多社交网络 API 确实提供了电子邮件地址(一旦您通过 OAuth 进入),但只有当用户选择公开他/她的地址时才能访问这些地址,这是不能保证的。

也不能保证用户为每个社交网络帐户使用相同的电子邮件地址,因此即使您设法检索到一个地址,它也可能对您没有任何用处。

最后,如果您通过这种方式找到匹配的电子邮件地址,建议提示用户链接帐户,而不是假设他/她希望自动完成此操作。有些人喜欢保持多重人格。即“看起来你也注册了 Twitter - 你想关联你的帐户吗?这会让你的生活看起来有值(value)。”

您可能会考虑提供奖励以链接用户帐户或提供电子邮件地址(当然,您可以根据您网站的功能来确定这些可能是什么)。

我正在处理的数据库端解决方案是维护多个帐户,然后如果通过各种方式发现链接信息,则在查找表中指示该链接。另一种方法是,一旦找到链接,尝试将多个账户的所有相关条目合并到一个账户实体中——关于后一种方法,我只能说我会谨慎行事,因为这可能会非常复杂,具体取决于关于用户的事件级别和数据库架构的复杂性。

在我的(心理/实际)命名空间中,以老式方式注册的用户有一个“标准”帐户,而使用社交网络的用户有一个“别名”帐户。那么目标就变成了定义别名应该指向的位置,即创建查找,以便通过任一方式进行的后续登录检索两个帐户的相关信息(使用显示“标准”帐户的个人数据的偏好)。

顺便说一句,自从我上一篇文章以来,我想出了如何让 Twitter OAuth 运行 - 如果您有兴趣,可以查看我的其他答案以了解详细信息。

JB

hi matt,

i'm working on the same problem right now.

assuming the user starts with regular site account (which is not necessarily safe to assume if he sees all the pretty "connect with XXX network" buttons!!!), you can use either OAuth or the javascript APIs (facebookConnect or @anywhere - haven't fully figured out the latter yet and i'm not sure I recommend it as I don't think it provides as rich an API as do the backend libraries) to login to the other sites.

the APIs should return certain information after a successful login/redirect from the social network - such as the user ID and an ACCESS TOKEN which you can then store in your database in some capacity associating your 'actual' application user with the ID of the social network.

when the user returns to the site, you can then

1 verify cookies set by the social network services (various schemes typically verifying a signature, based on sha1 or md5 hash of your application data - by which i mean the data you get when you register your app with twitter/facebook, typically a consumer key, application ID, etc. - with the received cookies) so you know the user has logged in with the social network

2 find your database entry association as described above

3 login your user manually based on the assumption that facebook/twitter connection is secure.

caveat: this is only as secure as your implementation (or as secure as facebook/twitter's implementations, if you prefer...)

although twitter's OAuth does not currently seem to work quite right, their general description of the process is pretty informative: http://dev.twitter.com/pages/auth

good luck.

J

关于facebook - 社交网络(Facebook、Twitter 等)用户帐户集成(重复场景),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com