我正在为Symfony使用sfOpenID插件,它不支持OpenID 2.0。这意味着,例如,人们使用Yahoo! OpenID无法登录我的网站。
有一个与sfGuard一起使用的OpenID 2.0插件,但我没有使用也不打算使用sfGuard。此外,它还需要安装Zend框架,这在我的场景中是一种过度杀伤。
所以我真的有两个问题:
我想我可以学习OpenID规范并自己破解它,但后来,我是一个懒惰的程序员:)
答案 0 :(得分:7)
我认为您已经使用sfOpenID和taOpenIDsfGuardPlugin为Symfony的插件提供了所有选项。
虽然没有详细研究OpenID的规范,但您可以尝试将其中一个PHP库(http://wiki.openid.net/Libraries)放入lib中并连接到sfUser
,或者用于身份验证的任何内容。还有OpenID Enabled库(http://openidenabled.com/php-openid/),如果tweak the error reporting level排除某些警告,它仍然使用PHP4,尽管与PHP5兼容。
有一些教程解释了如何使用PHP在您的网站上启用OpenID:http://www.saeven.net/openid.htm或http://www.plaxo.com/api/openid_recipe。
更好的是,之后将这些知识用于make a sfPlugin out of it。
答案 1 :(得分:1)
有一种更简单的方法。 JanRain提供OpenID(和facebook)作为服务http://rpxnow.com。比使用库本地更容易/更快。
答案 2 :(得分:1)
所以你要么自己编写(不要推荐,要么很多工作),要么使用Zend中的那个(这就是我使用的)。
问题在于它被大量嵌入Zend并需要大量的ZF。
也许我会发布一个类似于taOpenIDsfGuardPlugin的插件,但是在没有sfGuard的情况下使用,因为它经常被要求(我将来需要它用于我未来的项目;)