views:

1069

answers:

3

I am using sfOpenID plugin for Symfony, which doesn't support OpenID 2.0. That means, for example, that people using Yahoo! OpenID can't login to my site.

There is an OpenID 2.0 plugin that works with sfGuard, but I am not using nor planning to use sfGuard. Plus, it requires to install Zend framework, too, which is an overkill in my scenario.

So I've got two questions, really:

  • is there another OpenID plugin for Symfony supporting OpenID 2.0?
  • what would be the hack required to make sfOpenID support OpenID 2.0?

I suppose I could study OpenID specs and hack it myself, but then, I am a lazy programmer :)

+4  A: 

I think you've covered all your options with sfOpenID and taOpenIDsfGuardPlugin for Symfony's plugins.

Without studying OpenID's specs in detail though, you could try one of those PHP libraries (http://wiki.openid.net/Libraries) by dropping it in your lib and connecting to a sfUser, or whatever you're using for authentication. There is also the OpenID Enabled library (http://openidenabled.com/php-openid/) which still uses PHP4 although compatible with PHP5 if you tweak the error reporting level to exclude some warnings.

There are a few tutorials out there that explains how to enable OpenID on your site with PHP: http://www.saeven.net/openid.htm or http://www.plaxo.com/api/openid_recipe.

And better yet, use this knowledge to make a sfPlugin out of it afterwards.

lpfavreau
Lots of code, but i see no other way. Thanks!
Tomas Kohl
+1  A: 

There is an easier way. JanRain offers OpenID (and facebook) as a service http://rpxnow.com . Vastly easier/quicker than going native with the libraries.

ltd
I would rather not outsource this
Tomas Kohl
+1  A: 

i had ( and i'm still having ) the same problem. Firstly there isn't any php5 openid library that is feature complete. The only one was abandoned for the one shipped with Zend Framework.

So you either write your own ( don't recomend , lot of work ), or use the one from Zend ( that is what i Use).

The problem is that it is heavily embeded into Zend and requires lots of ZF stuff.

Maybe i will publish a plugin similar to taOpenIDsfGuardPlugin but for use withouth sfGuard, because it's often asked for ( and i will need it for my future projects ;))

deresh
I've decided to use OpenID Enabled, which is from the guys behind rpxnow. It works reasonably well, but I keep it separate from the symfony stack (not as a plugin)
Tomas Kohl