phpMyId 0.7
Since I last looked at phpMyId, it has progressed from version 0.3 to version 0.7. A number of changes occurred.
For starters, the code has been split into two files, MyID.config.php and MyID.php. The idea is that the former is the only file a typical user would need to modify. I just don’t happen to be a typical user. :-)
Decrufting is still possible, simply rename
MyID.config.phptoindex.php, and add a line to the$GLOBALS['profile']section like this one:'idp_url' => 'http://intertwingly.net/id/'
With this version of phpMyId, the server and delegate URIs must match, so if you use traditional autodiscovery approach, both the
openid.serverandopenid.delegatelinks will need to be present. In the YADIS file, simply make theopenid:DelegateandURIelements match.I briefly looked into adding a
delegate_forprofile option, whose value would be a regular expression of URIs that this service would vouch for. Unfortunately, this would require that the code base be more careful about keeping these two values separate. As I still have my 0.3-based identity around, I simply have the autodiscovery link point to my 0.3 identify (for old clients), and have my YADIS file point to my 0.7-based identify (for new clients).The most significant change was that this codebase uses HTML based refreshes in place of HTTP redirects in more places. The HTML page itself is hardcoded, spartan, and (to my tastes) unnecessarily distracting when used in the normal flow of a successful login. I made the following changes to my copy to address this:
In
wrap_location:function wrap_location ($url, $keys = array()) { $keys = append_openid($keys); debug($keys, 'Location keys'); $q = strpos($url, '?') ? '&' : '?'; if (empty($keys)) $q = ''; header('Location: ' . $url . $q . http_build_query($keys)); debug('Location: ' . $url . $q . http_build_query($keys)); exit(0); }In
authorize_mode:// return to the refresh url if they get in wrap_location($_SESSION['post_auth_url']);
In
checkid:// $q = strpos($profile['idp_url'], '?') ? '&' : '?'; // wrap_refresh($profile['idp_url'] . $q . 'openid.mode=authorize'); wrap_location($profile['idp_url'], array('mode' => 'authorize'));
What a great update. Thanks, Sam. By the way, I checked phpMyID’s website and it seems it’s on version 0.8. Will your changes work in this version?
Thanks again.
Posted by anonymous atHow come my name doesn’t appear here whenever I use my OpenID enabled site? Hmmm
Posted by anonymous at
Just another test. Please feel free to delete this comment and others. Thanks.
Posted by anonymous at
Now all it needs is OpenID 2.0 support :)
I guess phpMyId will need to grow some more permanent storage capabilities if it gets extended to support Attribute Exchange.
Posted by James Henstridge atlinks for 2007-12-30
White House Custom Colour - Professional Photographic Lab and Press Printer (tags: printing digital photography prints) jsdoc-toolkit (tags: javascript documentation tools javadoc) Sam Ruby: phpMyId 0.7 (tags: php OpenID provider)......Excerpt from Full Speed at
An OpenID, via Wordpress/phpMyId, on Dreamhost
Returning to this venue, after long hiatus: hi! Today’s topic: So You Want To Get You One Of Them OpenIDs. And, you’re the sort of rugged DIY nerdo who hosts his own sites; and, you’re the sort of cheapskate who uses Dreamhost to...Excerpt from Andy Boyko says things to you at
phpMyID
phpMyID is a “single user (though, if you were so inclined, you could easily turn it into a multi-user setup) IdP, or Identity Provider for the OpenID framework.” Just been updated to version 0.7. [ via full-speed ] Copyright © 2007 -...Excerpt from David Bisset: Web Designer, Coder, Wordpress Guru at
links for 2007-12-30
White House Custom Colour - Professional Photographic Lab and Press Printer (tags: printing digital photography prints) jsdoc-toolkit (tags: javascript documentation tools javadoc) Sam Ruby: phpMyId 0.7 (tags: php OpenID provider)......Excerpt from Full Speed at
Links for 2008-01-24
gmail-greasemonkey – Google Code—Various Greasemonkey scripts that enhance Gmail (Tagged: code extensions firefox google javascript productivity greas greasemonkey gmail scripts). Alpine Messaging System—UW Alpine Information...Excerpt from mitch's meanderings at
I had been flirting with setting up an OpenID for a while, and finally got around to it--thanks for the guidance. One thing about decrufting: I had to use the .htaccess files with my hosting, so instead of renaming anything, I just added
DefaultView MyID.config.php
to the .htacces file. How do you like YADIS? There are weakness to your Mod_Rewrite rules for it: you should set the Vary: Accept header, and what if, for some reason, Web browsers add application/xrds+xml to their accept headers?
Posted by Ryan Cannon atOpenID
As I have been spending all day investigating all the different ways of securing a Web API (oAuth mainly) and all kind of user authentications (WSSE, AuthSub, OpenID), I decided to try out OpenID (especially since Yahoo announced their support and...Excerpt from Plutinosoft at
phpMyID is great. I just need to modify it to use my website’s user database :P
Posted by NTICompass at
PHPMyID rocks
30 minutes from ssh-ing into my server to having my own (decrufted) OpenID. Many thanks to PHPMyID, Sam Ruby and openidenabled.com....Excerpt from philwilson.org at