I want the site to be viewable by the general public, but editable by anyone who signs in with an OpenID. I'd like a login page like the one used on a stack exchange sites, where the user is presented with a series of familiar buttons to choose an identity provider.
Jeff Atwood has open-sourced the login component for Stack Overflow, which is awesome, but I am unable to use it as my shared hosting is on a LAMP stack, where the 'P' includes Python (2.4.3), Perl (5.8.8), PHP (5.2.4), and Ruby (1.8.7). The M is MySQL (5.1.50).
I have tried a number of things with limited success.
1) MediaWiki with the OpenID login extension. When I manually install the php-openid library, and run the test, it complains about the lack of GMP support, does something strange with HTTP fetching, and complains about a lack of mod_encoding. I contacted support and they said that they will not install mod_encoding, and that GMP is already installed.
Then I decided that if I could authenticate against WordPress, I could use a MediaWiki extension to use that information to log people in.
3) WordPress OpenID plugin. Everything appeared to install correctly that is needed for OpenID consumption, although it didn't appear to work. I suspect it uses the php-openid library. I'm not sure how to debug it. More to the point, it just offers an OpenID textbox, which is not friendly for people who have no idea what it is -- I'd like buttons!
4) Google Friend Connect for WordPress. This is the first I've heard of friend connect. It was not clear that one was authenticated to do more than comment, and the intention is to be some sort of "social media" overlay on your site -- not what I had in mind.
5) Gigya Socialize for WordPress. Finally, a nice login using buttons and OpenID. (Mind you, when I tried to log in using it, it told me, "New user access is currently disabled for this site.") This is pretty slick, but:
- when I try to log in using my Google or Yahoo accounts, it asks for my contacts! There is no way that it is acceptable for my users to give up contact information to a third party just to log into my site.
- As I am authenticating, there is very little indication that this is authenticating me to my site; instead, it appears that the request is for Gigya.
- If my site becomes really popular, I'll have to pay money to allow people to log in!
I haven't completed setting up JanRain Engage for WordPress, but I think it will be much the same as Gigya.
How can I have a unified, single sign-in for a group of related sites on the same domain, using OpenID and friendly google, yahoo, twitter, etc., buttons, which authenticates directly from my domain (ie. without claiming to be from a third party)? Barring that, how can I get users to log into MediaWiki using OpenID (without changing web hosts)? Edit: Are there any wikis you would recommend that already have a nice OpenID login feature?
I am happy to provide further details on my adventures so far. I am also a programmer, albeit not a web-programmer, quite familiar with python, and knowing enough Perl, PHP, and Ruby that I could hack on a near-solution to make it work.