Version 1.0 of this plugin is out of date. See here for the newest version.
Here's the obvious follow-on post to the previous one, in which I actually describe the plugin. (I was more jubilated at the time to finally have not only the plugin but my stupid CSS and JavaScript mostly working to say much about it.)
To use: set up your weblog to use authenticated comments with TypeKey. Add <MTOpenIDSignOnThunk> to your commenting templates, for unauthenticated viewers. It needs to go outside the commenting form; it is itself a form, and you can't nest those. (There are also MTOpenIDSignOnURL and MTLiveJournalSignOnThunk tags available.)
As you might guess, this reuses MT's built-in commenter framework. The signon.cgi subclasses MT::App::Comments, so it can simply invoke the same build_commenter and build_commenter_session methods as TypeKey authentication does natively. Because TypeKey names can't have line feeds in them, I prepend the identity URL with openid\n to prevent collisions (collisions between TypeKey usernames and URLs are very unlikely, but might be possible). The plugin then has to override the MTCommentAuthorIdentity tag to provide the correct link; the first version ended up linking the TypeKey icon to (for example) http://profile.typekey.com/openidhttp://markpasc.org/ which wouldn't do.
Because most people who might read me are my LiveJournal friends, I built in a special LiveJournal mode. Because LiveJournal supports OpenID, signon.cgi throws http://www.livejournal.com/users/ on the front and runs it through OpenID. It then uses the LJ username itself for the display name, instead of username [livejournal.com]. The replacement MTCommentAuthorIdentity then treats it differently, adding info to the URL to get a userinfo page and using the LiveJournal user icon instead of the OpenID one.
The main problem left right now is the Commenters screen shows the whole identity URL in the "Identity" field:

I suppose I could fix that with an AltTemplate, but it would have to be entirely JavaScript, as there's no place to put the proper logic to build the right links. I guess Kevin Shay's CMSEnhancer does that, but it's disappeared from his site with the appearance of his nice new design.
Also it references images from the plugin directory, so if you're using a cgi-bin, I guess you'll need to do something about that.
If you see your display name URI-encoded when you sign in, and your URL when you preview, that's just TypeKISS using wacky assumptions that the OpenID plugin breaks.
Regardless, here it is.
Comments
comment
Bugbug: I’m clicking Makali’s ‘ban user’ button and it’s not doing anything. (TAKE THAT, CAT!)
comment
With TypeKey: “Thanks for signing in, Phil%20Ringnalda.” :)
Since you didn’t even mention an MT Open ID server, I must have missed seeing that someone else did one. Off to see where I missed it…
comment
That would probably be here, though I don’t blame you for missing it!
comment
Mark, sorry for the sudden absence of the CMSEnhancer plugin and sample plugins I had posted to the ProNet mailing list. I changed hosting providers in conjunction with my site relaunch, and didn’t realize those files hadn’t made the transition.
I’m definitely still intending to release it soon, under a different name; just trying to coordinate everything with 6A releases (probably after MT 3.2 comes out, since that looks like it’ll have some other improvements for plugin development).
Anyway, I’ve restored the files referenced in that ProNet posting, for anyone who wants to start playing with it (the callback names in the released version will be slightly different, but the functionality will be the same).
comment
I tried your plugin, but I get: Comment Submission Error
Your comment submission failed for the following reasons:
Name and email address are required.If you are interested, or even probably if not, i’m going to use your code as a biases for another version (or i’ll be lasy and just wait)
comment
Kevin: Cool, thanks! :)
comment
halkeye.net: I get that error if I enable the “Require Name and Email Address Information” for unregistered commenters option. Weird—OpenID users are registered commenters!
Thanks for the report.
comment
Pasc is my hero!
comment
Nice ;)
comment
Woot, awesome!
comment
holy crap this is awesome.
comment
Hey, I described what I did to overcome the MD5Digest problem here. It has worked for me using a LJ user name.
Thanks a ton for the plugin. It’s so great letting all my LJ friends sign in. I might add the OpenID part if I ever hear of anybody I know using it! How’d you do that comment switching javascript between the different sign in possibilities? That looks great.
comment
I guess the problems do have to do with LiveJournal (I just got the same error here). I was freaking out that I had done something wrong! I can relax again. I wish I could update that package thing, but I’m too much of a rookie!
comment
Have you noticed OpenID login won’t work either… Anywhere? I tried posting on a LiveJournal, and I would log in on OpenID, but then wouldn’t be logged in when I went back to the LiveJournal. And here I get the same naive validity error that’s happening when trying to log onto a LJ account. Something’s really messed up in LJ-OpenID-Land!
comment
You were right about the issue being about Net::OpenID::Consumer. But now there’s a new problem!
After updating to Net::OpenID::Consumer 0.12 I get:
You haven’t defined a consumersecret value or subref. at /home/newkaic/publichtml/mt/plugins/openid-comment/lib/Net/OpenID/ClaimedIdentity.pm line 69
comment
Yeah, the interface changed some. It will need some changes in the plugin to really update to using the newest version of Consumer. :/
comment
I just installed 3.2 and decided to give this plugin a try. But get the following error: The requested page could not be found.
Smarty error: [in mt:13 line 255]: syntax error: unrecognized tag ‘MTOpenIDSignOnThunk’ (Smarty_Compiler.class.php, line 580)
I’m guessing this is because I’m using dynamic pages? Any plans to support them?
comment
Yeah, I don’t currently support dynamic pages in these plugins. Now that MT has support for sqlite-backed dynamic pages, I may be able to add it!
comment
I installed the plugin on my MT but I’m having problems getting the login fields to show up. Where specifically do you add the thunk tags in Movable Type, i.e. before what lines of code? I tried inserting them everywhere in the Comment Listing Template. Is that the only template the tags need to go in? Do I need to insert tags in the main index? Do you need to include the dollar signs within the tag? I basically want to have a triple login option as you have.
comment
How do I get that cool menu you have?
comment
Alex: it’s in the Individual Entry Archive, before the commenting form. In the standard 3.2 templates that’s:
</div>
</MTComments>
</div>
<MTEntryIfCommentsOpen>
<MTOpenIDSignOnThunk>
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
Also, make sure you’re using the newest version of the plugin.