After getting the answers I needed from the OAuth list, I decided to go back to hacking at getting OAuth to play nice with AtomPub on my host. I am pleased to report that it now works! It requires a two-line patch to WordPress (for my host anyway, YMMV), and I had to change the wp-oauth plugin a bit (lastest in SVN), but I have successfully posted to my test blog using a remote AtomPub script authenticated using OAuth.
See some example code. The future is bright!
I have updated wp-diso-actionstream to 0.45, changes include:
- Fully tested WP2.5 support
- Fixes for Last.fm support
- Better microformats output
I have updated two of my DiSo plugins: Profile and ActionStream.
The profile updates mostly involve some code cleanup, a page here documenting it, and a new API to add permissions options to the permissions page.
The ActionStream update is a bit more extensive:
- Support for coComment
- Code cleanup, of course
- RSS2 output option, linked from the stream output (add &full for a different view)
- Reportedly working in WP2.5 with a patch I accepted
- Better Safari support
- If you disable showing your service usernames they are also hidden in the collapsed items
- Abitily to set permissions on updates from each service (if wp-diso-profile0.25 is installed)
I’m publishing two plugins today. The first is pretty simple in what it can do for users directly – the XRDS-Simple plugin allows users to delegate their OpenID to their WordPress blog – basically letting you log in on OpenID enabled sites using your blog address, but without needing to run your own provider.
On a far geekier level, the plugin allows other plugins to add XRDS-Simple services and other information (such as OAuth Discovery) using a progammatic API. A brief example of this API is on the plugin’s page.
I am also releasing a more DiSo related plugin – WP-OAuth. This plugin enables interacting with WordPress authentication using the open OAuth protocol. This could be exciting if combined with AtomPub or another protocol / format supported by WordPress or another plugin.
Take 2! Now enhanced with XRDSs! Eran has blogged about the changes and the initial vendor support. This plays right into my dream of infinite interop. I’m quite happy about how small the spec is now that it just rides on XRDSs. There’s some weirdness (need two XRDs, can have one XRDSs reference another). Eran has explained his reasoning to me and it makes sense, but I’m still not convinced that it’s necessary.
Anyway, I should roll out a new XRDSs and OAuth DiSo plugin soon with support for draft 2. And new examples. There is an alternate PHP class that Eran says will be including support. I will probably use that when it comes out, but I’ll bootstrap with JanRain Yadis and the standard OAuth PHP class for now.