PHP OpenID身份提供者

5
我想实现一个OpenID身份提供者作为我的网站的服务。我将把它与应用程序提供的现有用户服务集成,因此我想使用库而不是完整的OpenID服务器应用程序(即OpenID Identity Servers部分列出的工具都做太多了)。
这留下了OpenID Libraries页面上列出的以下库(能够充当身份提供者的库;其他库被忽略,因为它们无法满足我的需求)。不幸的是,每个库都存在一些问题,我希望获得关于我应该选择哪个库的建议。
  • PHP OpenID Library (Janrain) - 这个库似乎很受欢迎,但是已经不再维护了。由于未修复的问题很多,GitHub 上出现了很多分支;它似乎能够工作(需要一些修复),但很难知道应该跟随哪个分支,或者是否安全。
  • NetMesh InfoGrid LID - 下载部分 403 权限被拒绝,这并不令人鼓舞。
  • Zend Framework OpenID Component - 是 Zend 框架的一部分,我们没有使用。

所以,我的问题是

  • 还有其他选项可以作为身份提供者吗?
  • 有人使用过 NetMesh 解决方案吗?无法下载的情况怎么解决?
  • 可以在没有 Zend 框架的情况下使用 Zend 框架组件吗?
  • 有没有一个好的、可靠的 Janrain PHP OpenID Library 分支?

2
我已经开发了我的OpenID提供者和消费者类,以便在我开发的一系列网站中共享同一个登录帐户。我之所以这样做,是因为现有的PHP实现对我来说不够好。代码已经实时运行了8个多月,大部分问题都已解决。我想将其作为开源发布,但我需要完成足够的文档,使其对他人有用。如果您有兴趣进行测试,请发送电子邮件至我的个人资料中的地址。 - mlemos
Mlemos,很抱歉我找不到你的电子邮件,但我很想看看你的代码。 - El Yobo
如果你需要更多的测试人员,我也可以提供帮助。和El Yobo一样,我发现目前的解决方案要么不适合我的项目(到目前为止...还没有尝试过zend版本),要么已经相当过时了。 - canadiancreed
抱歉,我以为StackOverflow会以某种方式公开我的联系方式。无论如何,请随时发送电子邮件至mlemos@acm.org与我联系。 - mlemos
1个回答

1

事实上,你不必整个使用一个框架,就不能使用它的组件。Zend_OpenID 的依赖组件列表可以在这里找到。你只需取所需的 OpenID 组件即可运行。我认为,与获取另一个 OpenID 组件相比,获取带有依赖项的 Zend_OpenID 没有太大区别。


我不确定这是否可行;你的链接非常有帮助,但依赖项包括Zend_Session,可能会影响应用程序的其余部分(他们建议只通过Zend_Session系统访问$_SESSION),而Zend_Controller_Response_Http看起来可能非常难以集成。 - El Yobo
@El Yobo,没错。这里有一份OpenID实现列表http://wiki.openid.net/Libraries但我不确定它们看起来是否有前途。 - Vladislav Rastrusny
是的...我在我的问题中链接了那个,并且涵盖了唯一支持充当身份提供者的三个。我倾向于再次fork janrain库并实现我需要的修复 :-/ - El Yobo
另外还有其他的认证方法吗?比如OAuth? - Vladislav Rastrusny
实际上,我想实现Google的OpenID + OAuth混合模式;但似乎它是OpenID的扩展,而不是OAuth的扩展,因此我需要从OpenID基础库开始工作。 - El Yobo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接