OpenID:如何将多个 OpenID 帐户最佳地关联到一个用户?

2023-12-22

我是 openID 的新手。我花了很多时间思考让用户选择使用各种启用 OpenID 的帐户登录的最佳实践是什么。

(我必须进一步澄清,我的系统不是一个只需要简单的“一次性身份验证”来进行博客发布的系统,而是一个像社交网站一样的完整系统,用户总是会添加更多信息并编辑现有的信息“他的个人帐户”的信息......因此系统本身需要拥有某种与用户所做的工作相关联的“帐户”。)

鉴于我没有创建“带有密码和用户名的我的网站的专用用户帐户”并且仅依赖于 openID 登录,我遇到了以下问题: 当用户“A”通过“Google 帐户”登录(首次)时,他所做的一切都将与该 Google 帐户关联。当他回来并且没有点击“Google 帐户登录”而是点击“Yahoo 登录”时,他将登录,但将创建/获取与 Yahoo 关联的新帐户。他使用 Google 帐户所做的一切似乎都丢失了。简单地在我的网站上向每个用户颁发一个“独立的 openID 且唯一的用户名”(无密码)是行不通的:就像我在登录时要求这个唯一的用户名(无密码)一样,每个人都可以猜测其他人的用户名并关联一个 OpenID跟他们。但是,如果我还必须有这个用户名的密码,那么我最终会陷入过去没有 openID 的情况:然后我必须向用户颁发某种他可以的“主帐户”(带有用户名和密码),为了方便起见,可以关联任意数量的 openId 帐户。但在这种情况下我为什么不拥有 openID 呢?因为用户无论如何都必须记住“我的主密码和用户ID”......

=> 这是否意味着,openID不“直接”支持多个帐户的“自由选择”?如果我希望用户能够使用任意 openID 用户帐户登录(每次登录),这是唯一的方法:

1.)用户通过“已知的 openID 帐户”登录 => 没关系,无需执行任何操作

2.)用户通过“未知的openID帐户”登录=>通过“未知的”openID(例如雅虎)“验证”用户,但当用户返回我的页面时,向用户说明,这(雅虎) ) openID 帐户未知(=没有进一步的工作与之关联=它就像一个新帐户)并询问他上次是否通过其他帐户登录并提供支持的 openID 帐户列表。然后,用户可以选择他上次使用的提供商之一(例如 Google)。然后,除了已经登录(使用雅虎)之外,他还必须登录到他上次使用的“旧”(谷歌)帐户。然后,两个帐户“相互关联”,并且旧(Google)帐户上的任何工作现在也可以通过新(Yahoo)openID 帐户/登录进行访问?

或者有没有其他方法可以支持一个 USERACCOUNT 的“多个 openID 帐户”?

(我问这个问题的原因是:普通最终用户还不太了解 OpenID。如果我打印一个包含从 Google、Yahoo 到 Faceebook 登录的大型列表,将会有很多用户使用 Google 进行初始登录,但是下次他们回来时可能会选择 facebook(因为他们刚刚离开 facebook 网站,点击 facebook 图标更有吸引力)。这就是过去“15 年”“网站的运作方式”:只有一种方式登录:一个用户名输入字段和一个密码输入字段。如果我现在打印一大堆帐户列表,其中每个用户都有一个帐户,则可能会每天使用不同的帐户登录,而不理解这些帐户这会导致问题。所以理想的世界是用户可以通过我的 openID-Provider 列表中的任意帐户登录,并且所有帐户都将彼此“关联”......

我希望我能够描述我的问题是什么。

我真的很感谢你的帮助和想法(也许我完全误解了一些东西)

非常感谢! 扬


是的,用户必须同时使用两者登录。

  1. 用户首次使用 Google 帐户登录、使用该应用程序并注销。应用程序创建内部用户登录(在 grombeestje 的表用户中)并将其与 Google 帐户关联。 (在grombeestje的表openid中)
  2. Later, user has logged in Yahoo and logs in again with Yahoo Account. Now user is offered a step to identify with other services as well
    • A。用户选择加入并选择 Google 帐户。
    • b.用户使用 Google 帐户登录。
    • C。应用程序将 Google ID 附加到当前登录名。

此外,任何时候,当用户希望他可以选择将登录名添加到他的个人资料并识别他/她的其他 openID(如 Blogger、Facebook 等)时。如果他使用这些帐户创建了不同的登录名(在 grombeestje 的表用户中),那么他可以删除其中之一本地登录(在 grombeestje 的表用户中)与应用程序或将它们合并为一个。

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

OpenID:如何将多个 OpenID 帐户最佳地关联到一个用户? 的相关文章

  • Facebook 是 openid 提供商吗?

    我对 facebook 以及 facebook 是否是像谷歌这样的 openid 提供商感到困惑 根据这个链接 http developers facebook com blog post 246 facebook 是一个 openid 依
  • 我应该使用 OpenId 的哪个 Erlang 实现(如果有)?

    我需要 OpenId 协议的 Erlang 实现 我发现了以下内容 但这似乎是一个处于早期阶段的项目 http code google com p erlopenid http code google com p erlopenid 关于我
  • 我是否应该根据协议前缀来区分 OpenID? http 与 https

    我已经为我的 ASP NET 应用程序实现了简单的 OpenID 支持DotNetOpenAuth http www dotnetopenauth net 然而我最近意识到实施正在治疗http johndoe example com 作为一
  • 我可以使用 Facebook 凭据让用户访问我的网站吗?

    我开始在一个网站上工作 该网站将与相应的网站紧密连接Facebook http facebook com应用程序 我希望内容免费供所有人查看 但只有注册用户才能编辑它 与服务器故障 http serverfault com 实际上 因为我认
  • 如何使用 CodeFirst 方法在 IdentityServer 4 的 Client 表中添加新列?

    我正在实施 IdentityServer4 我尝试向 Client 添加新字段 CustomerId 在进行迁移时 它会创建名为 Client 的新表 而不是在 Clients 表中添加新列 namespace xx xx Models T
  • 使用 DotNetOpenAuth 时,Azure 开发结构因 SocketException 崩溃

    我正在尝试使用 DotNetOpenAuth OpenID 身份验证在 Windows Azure Dev Fabric 下运行 ASP NET MVC 2 网站 Azure Dev Fabric 本身反复崩溃 dfloadbalancer
  • Airflow + Okta 集成问题 OAuth2.0

    我正在尝试使用 Okta 我们的 Idp 和 OAuth2 0 OpenID 对 Airflow 进行身份验证 为此 我将此作为参考 https tech scribd com blog 2021 integrating airflow a
  • 如何将 OpenID 添加到 php 站点?

    我非常喜欢 StackOverflow 使用 OpenID 进行注册 我该如何将其添加到我的网站中 它是基于 PHP 的 我访问了 openid net 并查看了那里的库 但几乎找不到文档或示例 本教程对我之前使用 PHP 和 OpenID
  • OpenID 的最佳 Coldfusion 库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何为 mvc 应用程序中的所有控制器启用 ssl

    我有一个 MVC 5 应用程序 并且安装了 ssl 证书 现在正在使用 https 连接 但在我的代码中 我必须在 homecontroller 上设置 requirehttps 属性 如下所示 RequireHttps public cl
  • 在 PhoneGap 平台上使用 OpenID

    我目前正在使用 PhoneGap 开发一个应用程序 我的应用程序使用 OpenID 来验证用户身份 成功验证用户身份后 它应该返回到我的应用程序 我已使用 location href 将页面重定向到本地地址 例如 iOS 应用程序的 fil
  • keycloak - 用户经过身份验证后出现 CODE_TO_TOKEN_ERROR

    我正在使用 nodeJS keycloak 适配器 到目前为止我的客户端应用程序已重定向到 keycloak 登录 尝试登录时 我在 keycloak 日志中收到如下错误 12 07 12 341 警告 org keycloak event
  • OpenId + 记住我/保持登录状态

    我有一个问题 关于如何 什么是使用 OpenId 并提供保持登录状态的最佳方法 例如 如果我查看 Stackoverflow 我已经使用 Google 登录 如果我关闭浏览器并返回 它仍然显示我已登录 However 我没有登录谷歌 而且我
  • 如何在 MVC 4 中实现自定义 OpenID 依赖方

    我喜欢新的 MVC OpenID OAuth 登录功能 但我想知道如何添加新的登录按钮 例如我希望我的用户使用他们的 StackExchange 帐户或使用他们的 OpenID url 登录 就像在 stackoverflow 中一样htt
  • 通过 Curl OpenId

    如何使用 Curl 进行基于 OpenId 的身份验证 首先我能做到吗 问候 阿拉巴克什 我想你正在谈论curl命令行 而不是库 我没有尝试过 但是根据我对OpenID和curl的了解 应该是可以的 但是 还没有完全自动化 如果您想要真正轻
  • 什么是可以轻松集成到现有应用程序的优秀 Ruby on Rails 论坛?

    什么是可以轻松集成到现有应用程序的优秀开源 RoR 3 论坛 可选功能 OpenID 支持 Haml SCSS 模板 支持表情符号 YouTube 图像等 我可能会对其进行很多更改 而且我对 Ruby 的了解仍然很弱 因此干净的 带注释的代
  • OpenID 登录机制 - 保持登录状态

    我正在用 PHP 开发一个网站 并尝试使用 OpenID 进行登录机制 我想要类似于 StackOverflow 的行为 我的意思是 每当我打开 stackoverflow 时 我就已经登录了 我在 StackOverflow 上发现了两个
  • PHP SREG 中的 JanRain OpenID?

    我使用我发现的名为 open id 选择器的修改后的登录设置了演示 登录工作正常并且身份 url 返回 但我要求的 SREG 数据从未填充 必需或可选 我正在使用 Gmail 帐户登录我的页面 这是我编辑的 try auth php 中的代
  • OpenID,如何开发提供商

    目前我正在开发一些基础设施 并且已经实现了自己的 RESTful 身份验证机制 现在我想也许我不应该走这条路并使用行业标准 因此与我的项目的互操作性在身份验证和授权方面可能很琐碎并且更容易理解 查了一些文章后googling在 Stacko
  • 内部注册 vs. OpenID vs. Google Friend Connect vs. Facebook Connect vs.(等等)

    我正在尝试决定如何允许用户注册我的网站 有 openID clickpass facebook connect googlefriendconnect 等 或者是老式的内部 输入用户名 电子邮件 密码等 简要地看一下如何设置 OpenID

随机推荐

  • 类型或命名空间 不存在

    好吧 我之前已经遇到过这个问题一百万次了 而且之前已经被回答过 100 万 1 次了 然而 再一次 我有 3 个项目 A B 和 C 每个项目都有一个 DLL 每个项目都是 Net 4 0 不是客户端构建 完整的4 0 项目 C 引用 A
  • 为什么 CHECKSUM_AGG() 对于完全不同的输入值返回相同的值?

    我真的不明白怎么办CHECKSUM AGG 有效 尽管我知道它是通过使用异或来构建的 这解释了为什么它会返回0当您传递相等的整数时 但是 为什么我在以下 SQL 中得到相同的聚合校验和 其中输入值是唯一的 DECLARE test1 TAB
  • 为什么 10 的幂以科学记数法打印为 5 次方?

    我想知道 10 的幂是否与控制台中科学计数法的打印相关以及如何相关 我搜索了 R 文档 但没有找到任何相关的内容 或者我真正理解的内容 首先 我的scipen and digits设置是 unlist options scipen digi
  • 寻求 2D 版本的 approxfun()

    我正在 R 中寻找 2D 版本stats approxfun 可以生成插值function来自 x y z 数据集的 f x y 我在包裹中没有找到akima或其他地方 我会尝试重新适应interp surfaceR 包中的函数fields
  • 我可以在黄瓜中使用带有示例的背景吗?

    我想通过一个示例来说明所有场景的第一步 但所有场景的第一步都是相同的 只有一个元素不同 所以我想在后台完成所有这些步骤 并想添加带有背景的示例 简而言之 假设我想导航到 facebook twitter google 和 youtube 页
  • Quartz调度器和OSGI

    我有一个 OSGI 调度程序包 其中包含 Quartz Scheduler Jar 该捆绑包仅向其他捆绑包公开一个应用程序接口 并且当注册新作业时 它将被包装到临时作业 实现 StatefulJob 中并使用调度程序进行调度 这样我就不必公
  • 使用unix_socket登录MySQL帐户

    我已经创建了一个从机器 A 到机器 B 的转发器 通过 SSH 机器 B 有一个正在运行的 MySQL 实例 其 root 帐户使用unix socket验证 User Host plugin root localhost unix soc
  • 对子文档进行分组/计数,同时保留根字段

    在 mongodb 中 经过一些 match 和 project 后 我 得到以下 2 个文档 我正在尝试弄清楚如何将每个事件的每个组中每个团队的状态列表分组 计数在一起 简而言之 我需要知道每个州有多少支球队 0 1 或 2 我从以下文档
  • 使用 nginx-ingress 和 keycloak 在 kubernetes 中进行身份验证的正确设计是什么

    Goal 我想使用 keycloak 作为我的 minikube 集群的 oauth oidc 提供程序 Problem 我对可用的文档感到困惑 根据这个文档 https kubernetes github io ingress nginx
  • 使用信号量而不是互斥体对 boost::Lockable 进行建模(以前的标题为:从不同线程解锁互斥体)

    我正在使用 C boost thread 库 在我的例子中这意味着我正在使用 pthreads 正式地 互斥体必须从锁定它的同一个线程解锁 我希望能够锁定一个线程 然后在另一个线程中解锁 有很多方法可以实现这一点 一种可能性是编写一个新的互
  • 将 Python 从版本 2.7.9 降级到 2.7.8

    在升级一些Python模块的同时 我也将我的Python版本更新到了2 7 9 然而 这样做已经破坏了 Google App Engine 我需要恢复到至少 2 7 8 我使用 MacPorts 来安装所有内容 解决这个问题最简单的方法是什
  • fiddler 将 https 重定向到本地主机

    我有一个连接到 Azure 中 HTTPS 服务的 iPhone 应用程序 我想通过 Fiddler 将 iPhone 呼叫重定向到http 本地主机 19703 http localhost 19703我在本地计算机上运行相同的服务以进行
  • Nextjs-Graphql webpack 加载器:如何将 Nextjs 与 Graphql 加载器集成

    我正在尝试将 Nextjs 与 graphql tag loader 集成 这是我的next config js file const withSass require zeit next sass const graphqlLoader
  • R 使用 ggplot 绘制置信带

    我想为装有 gls 的模型创建一个置信带 如下所示 require ggplot2 require nlme mp lt data frame year c 1990 2010 mp wav lt rnorm nrow mp cos 2 p
  • 在 Javascript 中创建预定义对象的实例

    我知道在 Javascript 中我们可以创建对象实例 例如 var ins new myObject 我知道 窗口 文档等是JavaScript中预定义的对象 我们可以创建这些对象的新实例吗 例如 Is var inss new docu
  • Swift 3 中的动画曲线

    我想画一些贝塞尔线 并想用波浪效果为它们设置动画 Example 您对我如何做到这一点有一些想法吗 贝塞尔线是最好的方法吗 我为此只找到了 2 个库 但它们对我的需要并不是真正有用 我尝试修改一个库的代码 不幸的是没有成功https git
  • 使用 .bat 更改目录并运行 Jupyter

    我是编码新手 但我只想更改目录并运行 jupyter 问题是 cmd 一旦到达 jupyter notebook 命令就会立即关闭 也尝试过 cmd k 但没有效果 我一定做错了 F cd directoryname activate en
  • Docker 守护进程无法启动或重新启动

    我使用的是 ubuntu 14 04 我还将 docker 升级到最新版本 每当我做一个sudo etc init d docker start我得到一个成功的 pid 如下 docker start running process 162
  • 如何使用 HTML5 画布绘制甜甜圈的一部分?

    正如标题所述 这可能吗 Edit 当我说甜甜圈时 我指的是俯视图 二维视图 唯一的选择是先绘制一段圆 然后在顶部绘制一段具有相同原点和较小半径的较小圆 并使用背景颜色 如果是这样那就太糟糕了 您可以通过使用两条弧线创建一条路径来完成此操作
  • OpenID:如何将多个 OpenID 帐户最佳地关联到一个用户?

    我是 openID 的新手 我花了很多时间思考让用户选择使用各种启用 OpenID 的帐户登录的最佳实践是什么 我必须进一步澄清 我的系统不是一个只需要简单的 一次性身份验证 来进行博客发布的系统 而是一个像社交网站一样的完整系统 用户总是