OpenID、OpenID2、Open Connect 的未来是什么?是否值得实施提供者?

What is the future of OpenID, OpenID2, Open Connect? Is it worth implementing a provider?

我看到到处都可以使用 OpenID 登录,因此我决定考虑在我的服务器上实施我自己的提供程序,以便我可以控制我的信息和我的登录。

令人惊讶的是,这是相当复杂和困难的。

尽管许多网站都允许 OpenID 登录(例如这个网站),但我发现了以下问题:

  1. 许多简单的 "roll-your-own" 单一身份 OpenID 提供者解决方案现在都是汽件。
  2. OpenID 一直存在相当严重的安全问题:

http://en.wikipedia.org/wiki/OpenID#Security

  1. 许多 OpenID 提供商似乎已经消失(MyOpenID.com、getopenid.com 等)
  2. 协议似乎在不断变化,以前的版本被删除(可能是由于安全问题?)

例如,从 2013 年 8 月开始在 SO 上使用 Google Plus/Profiles 作为委托的这个解决方案现在从 Google 得到一个错误,说 OpenID 2.0 支持被删除从 Google 到今年四月,并替换为 OpenID Connect:

Delegate OpenID to Google (NOT Google Apps)

有没有人提供简单的 OpenID Connect 单一身份 提供商?查看OpenID的OpenID提供商软件列表根本没有提到任何OpenID Connect解决方案,更不用说该页面已经4年没有更新了!

http://wiki.openid.net/w/page/12995226/Run%20your%20own%20identity%20server

查看所有这些信息,我真的很高兴我在几年前搁置了在我的服务器上实施 OpenID 2.0 的计划,因为它看起来已经过时了,我想不出一个简单的方法证明我身份的方法。令人惊讶的是,我不能只安装一个包并编辑一个配置文件就可以了。大多数更简单的实施涉及安装和使用 PHP,它有自己的安全问题需要了解。

所以 - 任何 OpenID 专家以及它的发展方向,谁能给我一些关于如何设置我的身份提供者的建议,或者这是否值得困难?我很想控制我的信息和我的电子邮件地址的分发以及拥有永久身份,但如果标准要不断变化,那么它就不是真正永久的。

OpenID 2.0 已弃用,就在今天,OpenID 基金会批准了 OpenID 2.0 to OpenID Connect Migration Guide

我不是 OpenID 方面的专家,但重要的是要知道 OpenID Connect 与旧版本根本不同。特别是,它运行在 OAuth 之上,因此依赖方必须从服务提供商处获得 OAuth 凭据。

有允许RP自动获取这些OAuth Credentials的规范(称为Dynamic Client Registration),但规范被标记为"optional",它在客户端库中没有得到广泛支持,我严重怀疑我们会看到许多应用程序实现动态客户端注册。

向 OpenID Connect 的转移夺走了用户和应用程序开发人员(更不用说较小的身份提供商)的权力,并将其全部交给了大型知名服务提供商。所以不幸的是,看起来设置您自己的个人 OpenID 提供商的想法不会成为未来的证明。

如果您想设置自己的 OpenID 提供程序,我可以建议您可能喜欢查看的两个可用选项。它们都是 PHP 解决方案。

第一个最容易实现,phpMyID, has been deprecated by its owner but it has risen again on GitHub。我昨天使用 PHP 5.6.8 快速测试了这个。只有两个 PHP 个文件。

第二个叫做 SimpleID,是我目前正在使用的。我用它登录了很多网站,包括这个网站。

但是,OpenID Connect 也不是。我正在寻找一个解决方案,以便我可以升级(这个搜索让我想到了你的问题)。到目前为止,我找到的最佳候选者称为 Gluu,但它似乎是一个庞然大物,我还没有尝试过。

SimpleID 有一个 Trac ticket and a development branch 来支持 OpenID Connect,但它似乎处于休眠状态。

我在搜索时发现的另一个有趣的事情是 web sign in and IndieAuth。不是 OpenID,但仍然很有趣。

未来如何,当然很难预测。

Google 已实施 OpenID Connect。他们已经实现了 Discovery,但是作为一个通用的 OIDC IDP,如果没有动态注册就不是很有用,因为您仍然需要注册一个应用程序并获取密钥。恐怕这对他们有利,因为人们可能更喜欢 Google 登录,因此不关心基于用户提供的电子邮件或 URL.

的 OIDC

根据OpenID Certifications,很少有人实施动态注册,但它还很年轻,可能会改变。

真诚地希望完整的 OpenID Dyn​​amic 将得到广泛采用,最好是被电子邮件提供商采用,这样我们就可以根据您的电子邮件进行单点登录邮件,大多数人都能记住的东西,而不是一些晦涩的 http 端点。

我要为我自己的服务器做这个; node.js 中基于 openid-connect 的简单小型 OIDC 和 webfinger 服务器。我们有责任让它变得容易和广泛采用,当我的迷你服务器可用 npm install :-)

时,我将在此处的评论中添加 link