社交登录重复帐户冲突

2024-05-03

我正在制作一个新应用程序,除了常规电子邮件/密码注册之外,还需要多个社交注册,但是有一种特殊情况可能会导致数据完整性问题......


例子:

  1. 用户在 Facebook 上注册,但没有收到任何电子邮件回复。
  2. 我在数据库中创建一个用户,将电子邮件和密码设置为 null,并创建一个包含其 ID、令牌和提供商名称的社交配置文件条目。
  3. 然后用户下次使用电子邮件和密码注册,所以我在用户表中为他创建一条新记录。

现在他有同一个人的 2 个条目。

我该如何处理这个案子?


通常,如果电子邮件为空,因为用户使用其他东西来登录 Facebook(例如电话号码)

如果属性 email 为 null,您可以回退到错误消息,或者使用 public_profile id 设置 FacebookId 并要求用户将电子邮件地址放入您的应用程序中。

不要使用电子邮件作为主键;)并且不要忘记,为所有用户设置一个内部登录名/密码。 Facebook Twitter 只是另一种登录方式,但不是主要机制。

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

社交登录重复帐户冲突 的相关文章

随机推荐

  • 如何将 CSS 样式应用于四开输出

    我想将样式应用于四开块输出 我做的第一件事就是在类中嵌入一些 CSS 属性 output在四开文档中 然后使用以下内容引用它 r class output output 它有效 但我认为它不是很有效 因为我必须在每个文档中编写它 所以我写了
  • 基于邻近度的负载均衡

    我正在开展一个项目 我们在世界各地拥有大量 目前为 5 台 服务器 客户端通过集中式代理连接到其中一台服务器 我们知道客户的原籍国 但除此之外一无所知 我们完全控制服务器 因此我们可以获得所需的所有信息 我们不控制客户 他们必须按照标准通过
  • spring 调度一个具有固定延迟和初始延迟的作业

    我正在尝试安排方法调用 我想在服务器启动后立即安排此方法调用 然后每 30 秒调用一次 下面的代码 Configuration EnableScheduling EnableTransactionManagement public clas
  • 如何使用IIS压缩所有文件

    IIS compression has been enabled 以下是web config的http压缩标签
  • Symfony 2 登录后重定向

    在 Symfony 2 中 您可以设置注销目标 以便注销后您将被重定向到 main 但是 登录后您将被重定向到 有没有办法为 成功 登录设置目标 firewalls dev pattern profiler wdt css images j
  • 如何在数据流中正确使用“展平”

    我们的管道如下所示 GCS gz 压缩文件 gt ParDo gt BigQuery 我想使用 展平 从 GCS 中提取多个文件作为管道的输入 但它一直因错误而烦恼 Workflow failed Causes 5001e5764f46ac
  • Rails 形式的当前日期

    我正在学习 Rails 并在书外进行一些探索 并随着知识的增长创建一个具有附加功能的简单应用程序 我正在编写一个简单的博客应用程序 我在表单中添加了一个名为 日期 的字段 我不希望这是一个字段 我希望它从服务器获取日期并将其自动放入数据库中
  • iPhone - 让 VoiceOver 宣布标签文本更改

    如果标签上的文本发生更改 是否可以使用 iPhone 上的 VoiceOver 来宣布更新后的文本 这类似于 ARIA 中的实时区域 Thanks 您可以使用 VoiceOver 朗读您喜欢的任何文本 UIAccessibilityPost
  • 如何保存我更改的网格中的行

    我使用 ng resource 从服务器获取数据 然后将数据放入表格网格中 如下所示 div div
  • JObject ToString 与 StringEnumConverter 不起作用

    我正在尝试序列化一个匿名类 如下所示 public enum ErrorCode A B C var response JObject FromObject new Error new Message Test Code ErrorCode
  • 无法更改 Visual Studio 2013 中的字体

    我曾经可以通过以下方式更改 Visual Studio 2013 的字体和颜色Tools gt Options then Environment gt Fonts and Colors 最后显示文本编辑器的设置 但是 现在我无法显示文本编辑
  • 使用 Tiny Scrollbar 自动滚动到 div 底部

    我正在编写一个shoutbox 并使其尽可能用户友好 它使用微型滚动条插件 http plugins jquery com project tinyscrollbar对于 jQuery 我想合并一个额外的函数 让我可以让它到达底部div 它
  • 如何仅使用 Javascript 减慢平滑滚动的默认速度?

    我的目标是按回车键 然后让网站滚动到底部 我已将滚动行为设置为平滑 一切都正常工作 除了平滑滚动的默认速度太快了 我怎样才能减慢它的速度 下面是我的代码 请不要使用jquery 谢谢你 document body onkeyup funct
  • 我可以通过索引访问 Parquet 文件而不将整个文件读入内存吗?

    我刚刚读到 HDF5 允许您访问数据查找 而无需将整个文件读入内存 这种寻找行为在没有 Java 的 Parquet 文件中是否可能 非 pyspark 解决方案 我使用 Parquet 是因为它有强大的 dtype 支持 import h
  • 类型错误:req.logIn 不是函数 - Passport JS

    我很确定这不是一个错误 因为谷歌搜索没有发现任何结果 我正在使用 Passport JS 和本地策略 在我的登录路线上 我使用自定义回调 并在确定用户存在后调用 req login 因为文档显示 请注意 当使用自定义 回调 应用程序有责任建
  • 如何在外部浏览器中打开 Android 应用程序中的链接?

    任何人都可以帮助我在代码中打开外部浏览器或其他 Android 应用程序中的链接吗 现在的情况是链接在应用程序本身中打开 但如果该链接属于 Android 应用程序 则无法打开 它显示安装 Android 应用程序 所以我希望如果链接可以在
  • 如何设置属性选择器的值 Expression>

    我需要使用模式工厂的想法将 Person 类实体中的实体属性 Address 与 FactoryEntities 类中的表达式 linq 相关联 看看这就是我所拥有的并且我想要做的 Address address new Address a
  • 获取发送 cURL 请求的用户的 IP 地址

    我想获取使用 php 中的 cURL POST 方法向我的服务器发送请求的用户的 IP 地址 我正在开发一个 Flight API 我将使用 cURL POST 方法获取请求 我必须获取客户端的 IP 地址并验证他的 IP 地址是否可用 如
  • Inno Setup:如何在选中的复选框上显示(隐藏/取消隐藏)密码

    我在输入查询页面中添加了一个复选框 以便在选中时使用它向我显示未发现的密码 但我不知道该怎么做 我已经创建了以下过程 但这个过程并没有改变我添加输入时的 true false 值 此过程添加了我完成这项工作的新文本框 请你帮助我好吗 pro
  • 社交登录重复帐户冲突

    我正在制作一个新应用程序 除了常规电子邮件 密码注册之外 还需要多个社交注册 但是有一种特殊情况可能会导致数据完整性问题 例子 用户在 Facebook 上注册 但没有收到任何电子邮件回复 我在数据库中创建一个用户 将电子邮件和密码设置为