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

2024-06-23

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

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

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

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

我的总体想法是试图找出一种使用“用户名”或电子邮件来尝试猜测并向用户展示一种组合帐户的方法。

有人有什么想法吗?


跟进-

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

正如您所描述的那样,我计划为用户提供在通过某种方式登录后链接其他帐户的选项。

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

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

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

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

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

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

顺便说一句,自从我上一篇文章以来,我想出了如何让 twitter OAuth 表现出来 - 如果您感兴趣,您可以查看我的其他答案以获取详细信息。

JB

hi matt,

我正在解决同样的问题 现在。

假设用户从常规开始 站点帐户(即not如果他看到的话,必然可以安全地假设 所有漂亮的“与 XXX 连接 网络”按钮!!!),您可以使用 OAuth 或 javascript API (facebookConnect 或@anywhere - 还没有完全弄清楚后者 但我不确定我是否推荐它 我不认为它提供了那么丰富的 API 与后端库一样) 登录其他网站。

API 应该返回特定的 成功后的信息 从社交网络登录/重定向 - 例如用户 ID 和访问令牌,您可以将其存储在您的 数据库以某种能力关联 您的“实际”应用程序用户 社交网络的 ID。

当用户返回网站时,您 那么可以

1 验证社交设置的cookie 网络服务(各种方案 通常验证签名,基于 您的 sha1 或 md5 哈希值 应用程序数据 - 我的意思是 您注册时获得的数据 带有 twitter/facebook 的应用程序,通常是 消费者密钥、应用程序 ID 等 - 与收到的cookie)所以你知道 用户已通过社交登录 网络

2 找到你的数据库条目关联 如上所述

3 登录您的用户manually基于 假设 facebook/twitter 连接是安全的。

警告:这仅与您的安全一样 实施(或安全如 facebook/twitter 的实现,如果 你比较喜欢...)

虽然twitter的OAuth没有 目前看来工作正常, 他们的一般描述 过程信息非常丰富:http://dev.twitter.com/pages/auth http://dev.twitter.com/pages/auth

祝你好运。

J

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

社交网络(Facebook、Twitter 等)用户帐户集成(重复场景) 的相关文章

随机推荐

  • 如何使用 jQuery 获取文本框中输入的文本长度?

    如何使用 jQuery 获取文本框中输入的文本长度 var myLength myTextbox val length
  • 将 __m256 值设置为所有 1 位的最快方法

    如何将值中的所有位设置为 1 m256价值 使用 AVX 或 AVX2 内在函数 要获得全零 您可以使用 mm256 setzero si256 为了获得所有这些 我目前正在使用 mm256 set1 epi64x 1 但我怀疑这比全零情况
  • JSR-310 - 解析可变长度的秒分数

    有没有办法创建 JSR 310 格式化程序 能够解析以下具有可变长度秒分数的日期 时间 2015 05 07 13 20 22 276052 or 2015 05 07 13 20 22 276 示例代码 DateTimeFormatter
  • 生成 k 个成对独立的哈希函数

    我正在尝试实施一个计数最小草图 http en wikipedia org wiki Count Min sketchScala中的算法 所以我需要生成k个成对独立的哈希函数 这是一个比我以前编写过的任何东西都低的级别 除了算法类之外 我对
  • 如何创建关键点来计算 SIFT?

    我正在使用 OpenCV Python 我已经使用确定角点cv2 cornerHarris 输出的类型为dst 我需要计算角点的 SIFT 特征 输入到sift compute 必须是以下类型KeyPoint 我不知道如何使用cv2 Key
  • MY SQL - 错误代码:1010。删除数据库时出错(无法 rmdir;errno:13)

    当尝试删除 MySQL 中的数据库时 DROP DATABASE IF EXISTS temporarydata 我收到以下错误 Error Code 1010 Error dropping database can t rmdir tem
  • 如何通过map[string]interface{}递归迭代

    我遇到了一个问题 如何在附加条件下递归地迭代 map string interface 1 如果一个值是一个映射 递归调用该方法 2 如果一个值是一个数组 调用数组的方法 3 如果一个值不是一个映射 处理它 现在当方法尝试执行时doc th
  • 哪个版本的 SQLite 添加了对 Lead() 和 lag() 函数的支持?

    我正在尝试使用以下查询作为我的 Android SQLite 数据库中更大查询的一部分 但在我看来 我收到的错误表明 Android SQLite 尚不支持 Lead 函数 我尝试查看 sqlite org 上的发布日志 但无法找到何时添加
  • mysqli_real_escape_string - 100% 安全的示例

    我知道已经有人就这个话题提出了很多问题 我也知道要走的路是准备好的陈述 然而 我仍然没有完全理解以下是否或如何可能成为安全问题 mysqli new mysqli localhost root myDatabase mysqli gt se
  • swift 中的延迟函数[重复]

    这个问题在这里已经有答案了 我没有可供采样的代码或任何东西 因为我不知道该怎么做 但是有人可以告诉我如何使用 swift 将函数延迟一定的时间吗 您可以使用 GCD 在示例中延迟 10 秒 Swift 2 let triggerTime I
  • 使用身份验证令牌的 Axios 请求有时会在 Safari 中失败

    我正在开发一个使用 axios 0 19 0 的 React 16 9 0 单页应用程序 axios 请求使用令牌身份验证来访问运行 django rest framework 3 6 4 和 django cors headers 3 1
  • 在 iPhone 5s 或 64 位模拟器上测试 32 位 iOS 应用程序

    我有一个使用第三方库的应用程序 64 位版本的库存在错误 因此我不得不恢复到 32 位版本的框架 我想在 5s 上测试这个版本 但从 XCode 中 它将尝试在 64 位中构建 并且由于这个 32 位框架 构建将失败 我需要发布一个版本 但
  • 模型返回错误 - ValueError:logits 和标签必须具有相同的形状 ((None, 18) vs (None, 1))

    我正在使用基于 keras 的多标签分类器 我创建了一个加载训练和测试数据的函数 然后在函数本身内处理 拆分 X Y 我在运行模型时遇到错误 但不太确定其含义 这是我的代码 def KerasClassifer df train df te
  • 如何在R中找到相似的句子/短语?

    例如 我有数十亿个短语 我想要将相似的短语聚集起来 gt strings to cluster lt c Best Toyota dealer in bay area Drive out with a new car today Large
  • 生成二维码以在 iOS 应用程序中打开 Facebook 页面

    我正在尝试生成一个二维码 该二维码应该打开手机中安装的 Facebook 应用程序并自动导航到我的页面 I used http www qr code generator com http www qr code generator com
  • Mac 上的 Android Studio

    在 Android Studio 中创建新项目时 在执行任何操作之前 出现以下错误 错误 java io IOException 不支持操作 不支持操作 即使在 gradle 同步和更新之后我仍然收到此错误 有人有线索吗 谢谢 将其设置为在
  • ng 在子目录中生成组件

    我有以下目录结构 我想创建一个新页面 比如说 关于 页面 我想把它放在 src app page about 中 所以我尝试 ng generate component pages about 但我收到此错误 Error More than
  • tesseract Remove_Reference Visual Studio 2012 项目中的不明确符号

    我将更详细地描述我的情况 我正在使用 C OpenCV Tesseect 构建一个车牌识别系统 但是当我编译代码时 它返回给我一堆错误模糊引用 所以我检查了代码的所有行 我在这个小组中搜索了解决方案 并尝试了几种但没有成功 问题 error
  • Golang SSL TCP套接字证书配置

    我正在创建一个 Go TCP 服务器 不是 http s 并且尝试将其配置为使用 SSL 我有一个 StartCom 免费 SSL 证书 我正在尝试使用它来完成此任务 我的服务器代码如下所示 cert err tls LoadX509Key
  • 社交网络(Facebook、Twitter 等)用户帐户集成(重复场景)

    因此 肯定有很多关于如何将各种个人社交网络身份验证 注册集成到现有用户帐户中的教程 但我似乎无法找到太多信息的情况是 如果用户使用不同的社交网络凭据登录您的帐户 例如 场景 1 用户使用站点的身份验证在站点上注册 然后 用户使用 Faceb