The future and OpenID
After talking to a few people in #OpenID on irc.freenode.org last night, I finally decided I was going to get OpenID working with my own custom database library. The only full featured PHP library I could find was the one produced by JanRain. It’s not that I don’t like the features in the library, but the fact that it’s a PEAR style library, so it requires a few other PEAR libs that I absolutely refuse to use due to bloat, specifically PEAR::DB.
This caused a real issue for me. Function names are extremely different, along with how queries are performed, compared to my mysqli library. Sometime last month I tried to make a PEAR-style wrapper for my class, but for some reason it failed with the library. Well, last night I found the Wordpress OpenID plugin. Knowing that WP runs it’s own MySQL class, I downloaded it and studied the wrapper. This allowed me to see what I had been doing wrong and get a system working before school started today.
Once I had it working, I wrote a simple class I call EasyOpenID. This class allows me to minimize the amount of code in JanRain’s consumer example to very few lines of code. I’ve decided I was going to release this library, so I converted it to FileStore, which is the default the library ships with, and packed it up. I am going to release it here to hopefully get some feedback. If the feedback is good, I will probably continue to expand on the class.
I will have a page up for the library later on tomorrow, but for now, download the file located here. This zip file contains the converted consumer example and my class. The class is released under the new BSD license, while the rest of the code is GPL. Please, provide me with any of your thoughts on the library. Even if you don’t use it on a real, live site, please just let me know what you thought.
Talking with the folks in #OpenID also got me invited to be on the first official OpenID podcast recording, no idea if I’ll be involved, but I’m listening. You will be able to obtain the podcast on http://idcast.org/ sometime tomorrow night or on Thursday. I hope all goes well. Hopefully this new podcast will provide a great resource for developers looking to learn and expand on OpenID.
Del.icio.us
Digg
On March 13th, 2007 at 8:30 am
Cody, you’re a dumb piece of shit :P
Really, I don’t think that, I just wanted to give you some traffic ;)
Using
On July 5th, 2007 at 12:03 am
Thanks for the hint a question though….
if I dont have an iPhone connected (for test purposes) what output should I get from running tool?
I currently get permission denied is this correct?
Thanks
Using
On August 30th, 2007 at 11:33 am
Warning: require_once(Auth/OpenID/Consumer.php) [function.require-once]: failed to open stream: No such file or directory in
Does anyone know where to get these files? Can’t find them in the zip…and can’t find it in the documentation.
Or does anyone know an openphp-library with documentation und which is working? :)
Using
On August 30th, 2007 at 1:58 pm
You need to download the the PHP-OpenID library from http://www.openidenabled.com/php-openid/. My class just makes it easier to use.
Using
On January 22nd, 2008 at 8:58 am
I’m having a slight problem, I’m getting directed to my provider, authenticating, then back again but get the following error:
Fatal error: return_to must be a string; see NEWS file for upgrading notes. in /home/.peony/krisnorthfield/visualibiza.co.uk/openid/Auth/OpenID/Consumer.php on line 409
I’ve tried several things to no avail. Any clues?
Using
On February 16th, 2008 at 6:02 pm
Kris, to correct your issues and the next one you’ll get after you correct that one ;) try this:
EasyOpenID.php
Line 77 REMOVE
$this->response = $consumer->complete($_GET);Line 77 ADD
$return_to = substr($_GET['openid_return_to'], 0, strpos($_GET['openid_return_to'], "?"));$this->response = $consumer->complete($return_to);finish_auth.php
Line 37 REMOVE
$sreg = $response->extensionResponse('sreg');
Line 37 ADD$sreg = $response->extensionResponse('sreg', true);
Note: The $return_to line in EasyOpenID.php is one line, but the blog cuts it off, make sure you don’t have a stray carriage return.
Using
On March 27th, 2008 at 3:54 am
in 127.0.0.1, I get the following error:
Fatal error: Define Auth_OpenID_RAND_SOURCE as null to continue with an insecure random number generator. in C:\AppServ\www\php-openid\Auth\OpenID\CryptUtil.php on line 52
and in http://www.la.ubu.ac.th/consumer
I get the following error:
Authentication Error.
Using
On May 22nd, 2008 at 2:55 am
Warning: require_once(Auth/OpenID/Consumer.php) [function.require-once]: failed to open stream: No such file or directory in
Does anyone know where to get these files? Can’t find them in the zip…and can’t find it in the documentation.
Or does anyone know an openphp-library with documentation und which is working? :)
Using